﻿# INFLUENCE

#Note! These are base values, use loss/gain below
miniscule_influence_value = 10
minor_influence_value = 30
medium_influence_value = 60
major_influence_value = 100
massive_influence_value = 150
monumental_influence_value = 250


miniscule_influence_loss = {
	value = 0
	subtract = miniscule_influence_value
}
minor_influence_loss = {
	value = 0
	subtract = minor_influence_value
}
medium_influence_loss = {
	value = 0
	subtract = medium_influence_value
}
major_influence_loss = {
	value = 0
	subtract = major_influence_value
}
massive_influence_loss = {
	value = 0
	subtract = massive_influence_value
}
monumental_influence_loss = {
	value = 0
	subtract = monumental_influence_value
}

miniscule_influence_gain = miniscule_influence_value
minor_influence_gain = minor_influence_value
medium_influence_gain = medium_influence_value
major_influence_gain = major_influence_value
massive_influence_gain = massive_influence_value
monumental_influence_gain = monumental_influence_value

#Influence Levels
low_negative_influence_level = -1
low_influence_level = 1
medium_influence_level = 2
high_influence_level = 3
very_high_influence_level = 4
max_influence_level = 5

max_dynasty_influence_level = 10
high_dynasty_influence_level = 7
medium_dynasty_influence_level = 4
low_dynasty_influence_level = 2
min_dynasty_influence_level = 0


influence_modifier_scaling_value = {
	value = influence_level
	min = 1
	desc = MODIFIER_DEFINITION_MAIN_DESC_INFLUENCE_LEVEL
}

### Estate buidling cost values
# Base costs
estate_external_building_normal_base_cost_value = 100
estate_external_building_high_base_cost_value = 150
estate_internal_building_normal_base_cost_value = 50
estate_internal_building_high_base_cost_value = 75

# External building costs - normal
estate_external_building_normal_cost_tier_1_value = {
	value = estate_external_building_normal_base_cost_value
	multiply = estate_location_cost_modifier_value
}
estate_external_building_normal_cost_tier_2_value = {
	value = {
		value = estate_external_building_normal_base_cost_value
		multiply = 2
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_normal_cost_tier_3_value = {
	value = {
		value = estate_external_building_normal_base_cost_value
		multiply = 3
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_normal_cost_tier_4_value = {
	value = {
		value = estate_external_building_normal_base_cost_value
		multiply = 4
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_normal_cost_tier_5_value = {
	value = {
		value = estate_external_building_normal_base_cost_value
		multiply = 5
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_normal_cost_tier_6_value = {
	value = {
		value = estate_external_building_normal_base_cost_value
		multiply = 6
	}
	multiply = estate_location_cost_modifier_value
}

# External building costs - high
estate_external_building_high_cost_tier_1_value = {
	value = estate_external_building_high_base_cost_value
	multiply = estate_location_cost_modifier_value
}
estate_external_building_high_cost_tier_2_value = {
	value = {
		value = estate_external_building_high_base_cost_value
		multiply = 2
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_high_cost_tier_3_value = {
	value = {
		value = estate_external_building_high_base_cost_value
		multiply = 3
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_high_cost_tier_4_value = {
	value = {
		value = estate_external_building_high_base_cost_value
		multiply = 4
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_high_cost_tier_5_value = {
	value = {
		value = estate_external_building_high_base_cost_value
		multiply = 5
	}
	multiply = estate_location_cost_modifier_value
}
estate_external_building_high_cost_tier_6_value = {
	value = {
		value = estate_external_building_high_base_cost_value
		multiply = 6
	}
	multiply = estate_location_cost_modifier_value
}

# Internal building costs - normal
estate_internal_building_normal_cost_tier_1_value = {
	value = estate_internal_building_normal_base_cost_value
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_normal_cost_tier_2_value = {
	value = {
		value = estate_internal_building_normal_base_cost_value
		multiply = 2
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_normal_cost_tier_3_value = {
	value = {
		value = estate_internal_building_normal_base_cost_value
		multiply = 3
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_normal_cost_tier_4_value = {
	value = {
		value = estate_internal_building_normal_base_cost_value
		multiply = 4
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_normal_cost_tier_5_value = {
	value = {
		value = estate_internal_building_normal_base_cost_value
		multiply = 5
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_normal_cost_tier_6_value = {
	value = {
		value = estate_internal_building_normal_base_cost_value
		multiply = 6
	}
	multiply = estate_location_cost_modifier_value
}

# Internal building costs - high
estate_internal_building_high_cost_tier_1_value = {
	value = estate_internal_building_high_base_cost_value
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_high_cost_tier_2_value = {
	value = {
		value = estate_internal_building_high_base_cost_value
		multiply = 2
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_high_cost_tier_3_value = {
	value = {
		value = estate_internal_building_high_base_cost_value
		multiply = 3
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_high_cost_tier_4_value = {
	value = {
		value = estate_internal_building_high_base_cost_value
		multiply = 4
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_high_cost_tier_5_value = {
	value = {
		value = estate_internal_building_high_base_cost_value
		multiply = 5
	}
	multiply = estate_location_cost_modifier_value
}
estate_internal_building_high_cost_tier_6_value = {
	value = {
		value = estate_internal_building_high_base_cost_value
		multiply = 6
	}
	multiply = estate_location_cost_modifier_value
}

# Estate location modifier value
estate_location_cost_modifier_value = {
	value = 1
	
	if = { # Everything is a bit more expensive in the capital
		limit = {
			domicile.domicile_location = top_liege.capital_province
		}
		add = 0.2
	}
	else_if = { # Everything is a bit cheaper in themes along the borders
		limit = {
			any_top_realm_border_county = {
				duchy = root.domicile.domicile_location.county.duchy
			}
		}
		add = -0.2
	}
}

### Estate building AI values
estate_building_ai_modifier_value = {
	if = {
		limit = { # Some characters should want to build in their estate before they construct buildings in holdings
			scope:owner = {
				OR = {
					has_trait = arbitrary
					has_trait = gluttonous
					has_trait = greedy
				}
			}
		}
		add = 10
	}
	if = { # Character's loyal to the realm should very slightly favor constructing buildings in holdings first
		limit = {
			scope:owner = {
				has_trait = loyal
				OR = {
					has_trait = diligent
					has_trait = just
				}
			}
		}
		add = -1 # This will generally (though not guaranteed) make the AI build estate buildings one tier later than normal
	}
}
#

granary_modifier_scaling_value = {
	value = 1
	if = {
		limit = {
			exists = root
		}
		if = {
			limit = {
				domicile ?= { has_domicile_building_or_higher = grain_field_01 }
			}
			domicile ?= {
				if = {
					limit = { has_domicile_building = grain_field_06 }
					add = 6
				}
				else_if = {
					limit = { has_domicile_building = grain_field_05 }
					add = 5
				}
				else_if = {
					limit = { has_domicile_building = grain_field_04 }
					add = 4
				}
				else_if = {
					limit = { has_domicile_building = grain_field_03 }
					add = 3
				}
				else_if = {
					limit = { has_domicile_building = grain_field_02 }
					add = 2
				}
				else = {
					add = 1
				}
			}
		}
		if = {
			limit = {
				domicile ?= {
					domicile_location = {
						this = root.top_liege.capital_province
					}
				}
			}
			add = 2
		}
		if = {
			limit = {
				domicile ?= {
					domicile_location = {
						OR = {
							terrain = farmlands
							terrain = floodplains
						}
					}
				}
			}
			add = 5
		}
		if = {
			limit = {
				domicile ?= {
					domicile_location.county = {
						county_control < 100
					}
				}
			}
			add = {
				value = 100
				subtract = domicile.domicile_location.county.county_control
				multiply = 0.1
				round = yes
				min = 1
			}
		}
		if = {
			limit = {
				domicile ?= {
					domicile_location.county = {
						development_level >= estate_granary_development_bonus_2_value
					}
				}
			}
			multiply = 3
		}
		else_if = {
			limit = {
				domicile ?= {
					domicile_location.county = {
						development_level >= estate_granary_development_bonus_1_value
					}
				}
			}
			multiply = 2
		}
		if = {
			limit = {
				domicile ?= {
					domicile_location = {
						any_province_epidemic = { count >= 1 }
					}
				}
			}
			multiply = 2
		}
	}
	desc = MODIFIER_DEFINITION_ESTATE_SCALING_DESC
}
estate_granary_development_bonus_1_value = 30
estate_granary_development_bonus_2_value = 60

estate_construction_influence_gain_value = {
	value = 20

	# Bonus from governing with Civilian Administration
	if = {
		limit = { vassal_contract_has_flag = admin_influence_construction_bonus }
		add = 20
	}

	# Increase from Estate Building
	if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_increase_influence_on_building_construction_5 }
		}
		multiply = {
			value = 1
			add = estate_construction_influence_bonus_5_value
		}
	}
	else_if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_increase_influence_on_building_construction_4 }
		}
		multiply = {
			value = 1
			add = estate_construction_influence_bonus_4_value
		}
	}
	else_if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_increase_influence_on_building_construction_3 }
		}
		multiply = {
			value = 1
			add = estate_construction_influence_bonus_3_value
		}
	}
	else_if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_increase_influence_on_building_construction_2 }
		}
		multiply = {
			value = 1
			add = estate_construction_influence_bonus_2_value
		}
	}
	else_if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_increase_influence_on_building_construction_1 }
		}
		multiply = {
			value = 1
			add = estate_construction_influence_bonus_1_value
		}
	}
}
estate_construction_influence_bonus_1_value = 0.2
estate_construction_influence_bonus_2_value = 0.4
estate_construction_influence_bonus_3_value = 0.6
estate_construction_influence_bonus_4_value = 0.8
estate_construction_influence_bonus_5_value = 1

influence_inherit_large_bonus_value = 0.3
influence_inherit_medium_bonus_value = 0.2
influence_inherit_small_bonus_value = 0.1

appointment_score_script_value = {
	value = "appointment_candidate_score(root.primary_title)"
	min = 1
	desc = APPOINTMENT_SCORE_SCRIPT_VALUE_DESC
}

# The cost for taking command of other theme troops - ROOT is the title the requested troops belong to
admin_title_troop_command_cost_value = {
	save_temporary_scope_as = recipient_title

	# Base cost - Set in 00_defines.txt
	value = {
		value = define:NAdministrative|BASE_REASSIGN_COST
		format = "BASE_VALUE_FORMAT"
		desc = "BASE_VALUE"
	}
	
	if = { # Increase cost based on the total number of regiments - The first three regiments are not accounted for, we consider them a part of the base cost
		limit = {
			scope:recipient_title = {
				OR = {
					any_owned_title_maa_regiment = {
						count > 3
					}
					any_owned_title_maa_regiment = {
						maa_size > 3
					}
					AND = {
						any_owned_title_maa_regiment = {
							count > 2
						}
						any_owned_title_maa_regiment = {
							maa_size > 1
						}
					}
					AND = {
						any_owned_title_maa_regiment = {
							count > 1
						}
						any_owned_title_maa_regiment = {
							maa_size > 2
						}
					}
				}
			}
		}
		add = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = {
				value = {
					scope:recipient_title = {
						every_title_maa_regiment = {
							add = maa_size
						}
					}
					subtract = 3
					divide = 20
				}
			}
			desc = ADMIN_TITLE_TROOP_COST_ARMY_SIZE_DESC
		}
	}

	# You are fighting a defensive war
	if = {
		limit = {
			scope:actor = {
				any_character_war = {
					is_war_leader = scope:actor
					is_defender = scope:actor
				}
			}
		}
		subtract = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = 0.25
			desc = ADMIN_TITLE_TROOP_COST_DEFENDER_DESC
		}
	}
	# You are fighting an offensive war, and the troop owner is far away
	else_if = {
		limit = {
			scope:recipient_title.holder = { is_independent_ruler = no }
			scope:actor = {
				any_war_enemy = {
					realm_to_title_distance_squared = {
						title = scope:recipient_title
						value > 100000
					}
				}
			}
		}
		add = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = 0.25
			desc = ADMIN_TITLE_TROOP_COST_ATTACKER_DESC
		}
	}

	# The Troop owner is inside the war goal
	if = {
		limit = {
			holder = {
				target_is_liege_or_above = scope:actor
				OR = {
					any_held_title = { is_contested = yes }
					any_vassal = {
						any_held_title = { is_contested = yes }
					}
				}
			}
		}
		subtract = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = 0.25
			desc = ADMIN_TITLE_TROOP_COST_OWNER_IN_WAR_GOAL_DESC
		}
	}

	# If you are independent - The cost is reduced with your Imperial Bureacracy law
	if = {
		limit = {
			scope:actor = {
				is_independent_ruler = yes
				has_realm_law_flag = admin_title_troop_cost_reduction_high
			}
		}
		subtract = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = admin_law_cost_reduction_high_value
			desc = ADMIN_TITLE_TROOP_COST_LAW_2_DESC
		}
	}
	else_if = {
		limit = {
			scope:actor = {
				is_independent_ruler = yes
				has_realm_law_flag = admin_title_troop_cost_reduction
			}
		}
		subtract = {
			value = define:NAdministrative|BASE_REASSIGN_COST
			multiply = admin_law_cost_reduction_value
			desc = ADMIN_TITLE_TROOP_COST_LAW_1_DESC
		}
	}
}
admin_law_cost_reduction_value = 0.25
admin_law_cost_reduction_high_value = 0.5

admin_troops_reclaim_cost_cooldown_value = 5

# Some control values that we reference in loc.
diarch_more_efficient_administrative_emperor_promotion_candidate_massive_value = 1.5
diarch_more_efficient_administrative_emperor_promotion_candidate_major_value = 1
diarch_more_efficient_administrative_emperor_promotion_candidate_medium_value = 0.75
diarch_more_efficient_administrative_emperor_promotion_candidate_mild_value = 0.5

# For use when promoting a candidate via interaction.
appointment_score_interaction_multiplier_modifiers_value = {
	value = 1
	# Co-emperors are more efficient to promote.
	if = {
		limit = {
			exists = scope:target
			exists = scope:secondary_recipient
			appointment_interactions_recipient_is_suitable_co_emperor_trigger = yes
		}
		if = {
			limit = {
				scope:actor.top_liege = { has_diarchy_active_parameter = diarch_more_efficient_administrative_emperor_promotion_candidate_massive }
			}
			add = diarch_more_efficient_administrative_emperor_promotion_candidate_massive_value
		}
		else_if = {
			limit = {
				scope:actor.top_liege = { has_diarchy_active_parameter = diarch_more_efficient_administrative_emperor_promotion_candidate_major }
			}
			add = diarch_more_efficient_administrative_emperor_promotion_candidate_major_value
		}
		else_if = {
			limit = {
				scope:actor.top_liege = { has_diarchy_active_parameter = diarch_more_efficient_administrative_emperor_promotion_candidate_medium }
			}
			add = diarch_more_efficient_administrative_emperor_promotion_candidate_medium_value
		}
		else_if = {
			limit = {
				scope:actor.top_liege = { has_diarchy_active_parameter = diarch_more_efficient_administrative_emperor_promotion_candidate_mild }
			}
			add = diarch_more_efficient_administrative_emperor_promotion_candidate_mild_value
		}
	}
}

# Eparch values
eparch_aptitude_modifier_scaling_value = {
	value = 1
	if = {
		limit = { exists = root }
		add = root.aptitude:eparch_court_position
	}
	desc = MODIFIER_DEFINITION_MAIN_DESC_EPARCH_APTITUDE
}
university_cost_reduction_value = 0.25
eparch_scheme_secrecy_bonus_value = {
	if = {
		limit = {
			scope:owner = { has_court_position = eparch_court_position }
			scope:target = {
				domicile ?= { domicile_location = owner.top_liege.capital_province }
			}
		}
		add = {
			value = 15
			desc = eparch_scheme_bonus_desc
		}
	}
}

# State Faith
ep3_state_faith_conversion_mult_value = 2

# Hold Triumph Decision
ep3_triumph_gold_cost = {
	value = 100
	if = {
		limit = {
			NOT = { government_allows = administrative }
		}
		add = 100
		if = {
			limit = {
				NOT = {
					has_variable = ep3_valid_triumph_victory
				}
			}
			add = 200
		}
	}
}

ep3_triumph_influence_cost = {
	value = 0
	if = {
		limit = {
			government_allows = administrative
		}
		add = 50
		if = {
			limit = {
				NOT = {
					has_variable = ep3_valid_triumph_victory
				}
			}
			add = 200
		}
	}
}

# Laamp

ep3_laamp_chance_score_value = {
	value = 0
	add = { value = sum_of_all_skills_and_prowess_value divide = 4 }
	add = { value = piety_level multiply = 2 } # Devotion
	add = { value = prestige_level multiply = 2 } # Fame
	# Age
	if = {
		limit = { age < 25 }
		add = 3
	}
	# Personality
	if = {
		limit = { has_trait = ambitious }
		add = 3
	}
	if = {
		limit = { has_trait = brave }
		add = 3
	}
	if = {
		limit = { has_trait = arrogant }
		add = 3
	}
	if = {
		limit = { has_trait = stubborn }
		add = 3
	}
	# Genetics
	if = {
		limit = { has_trait = beauty_good }
		add = 3
	}
	if = {
		limit = { has_trait = intellect_good }
		add = 3
	}
	if = {
		limit = { has_trait = physique_good }
		add = 3
	}
	# Fame/Lifestyle/Commander
	every_character_trait = {
		limit = {
			OR = {
				has_trait_category = fame
				has_trait_category = lifestyle
				has_trait_category = commander
			}
		}
		add = 3
	}
	# Education
	if = {
		limit = { has_trait = education_martial }
		add = 5
	}
	if = {
		limit = { has_trait = education_martial_prowess }
		add = 5
	}
	# Bastardry
	if = {
		limit = { has_trait = bastard }
		add = 5
	}
	if = {
		limit = { has_trait = legitimized_bastard }
		add = 3
	}
	if = {
		limit = { has_trait = wild_oat }
		add = 3
	}
	if = {
		limit = { has_trait = child_of_concubine }
		add = 3
	}
	# Cosmetics
	if = {
		limit = { has_trait = scarred }
		add = 3
	}
	if = {
		limit = { has_trait = one_eyed }
		add = 3
	}
	if = {
		limit = { has_trait = disfigured }
		add = 3
	}
	# Culture/Faith
	if = {
		limit = {
			faith = { has_doctrine_parameter = unlock_voluntary_laampdom_faith }
		}
		add = 5
	}
	if = {
		limit = {
			culture = { has_cultural_parameter = unlock_voluntary_laampdom }
		}
		add = 5
	}
	if = {
		limit = {
			has_trait = nomadic_philosophy
		}
		add = 5
	}
	if = {
		limit = {
			culture = { has_cultural_parameter = much_more_likely_to_be_laamps }
		}
		add = 50
	}
	if = {
		limit = {
			culture = { has_cultural_parameter = more_likely_to_be_laamps }
		}
		add = 25
	}
	# Too much to lose
	every_heir_title = {
		add = {
			value = 0
			subtract = tier
		}
	}
	every_held_title = {
		add = {
			value = tier
			multiply = -2
		}
	}
	# Stop streaks
	every_held_title = {
		limit = {
			previous_holder ?= {
				is_alive = yes
				government_has_flag = government_is_landless_adventurer
			}
		}
		add = -75
	}
	# Encourage potential legitimists and such to go wandering.
	if = {
		limit = { realm_size <= 0 }
		every_claim = {
			limit = { tier >= tier_kingdom }
			add = 30
		}
	}
}

request_laamp_invasion_sponsorship_gold_cost = {
	value = 300
	if = {
		limit = { scope:recipient.highest_held_title_tier >= tier_empire }
		add = 200
	}
}

## Referenced in code
ep3_hire_laamp_mercs_cost_value = {
	value = scope:recipient.current_military_strength
	divide = 10
	min = scope:actor.minor_gold_value
	multiply = {
		value = {
			scope:actor = {
				every_character_war = {
					limit = {
						is_war_leader = scope:actor	
					}
					add = 1
				}
			}
		}
	}
	if = {
		limit = {
			scope:recipient.domicile = { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
		}
		multiply = camp_improved_mercenary_contract_rewards_value
	}
	if = {
		limit = {
			scope:recipient = { has_perk = hard_rule_perk }
		}
		multiply = adventurer_hard_rule_contract_rewards_value
	}
}

ep3_hire_laamp_mercs_payment_value = {
	value = scope:war_contribution_value
	divide = 10
	min = scope:employer.medium_gold_value
	if = {
		limit = {
			scope:laamp_temp.domicile ?= { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
		}
		multiply = camp_improved_mercenary_contract_rewards_value
	}
	if = {
		limit = {
			exists = scope:war_valuable_prisoners
		}
		add = {
			value = scope:war_valuable_prisoners
			multiply = 20
		}
	}
	if = {
		limit = {
			scope:laamp_temp ?= { has_perk = hard_rule_perk }
		}
		multiply = adventurer_hard_rule_contract_rewards_value
	}
	max = {
		value = scope:employer.yearly_character_income
		if = {
			limit = {
				scope:employer.gold > 0
			}
			add = scope:employer.gold
		}
	}
}

ep3_laamp_flavour_ewan_4041_regiment_damage_wildfires_min = 20
ep3_laamp_flavour_ewan_4041_regiment_damage_wildfires_max = 50

ep3_laamp_flavour_ewan_4041_regiment_damage_avalanches_min = 30
ep3_laamp_flavour_ewan_4041_regiment_damage_avalanches_max = 60

ep3_laamp_flavour_ewan_4041_regiment_damage_flash_floods_min = 20
ep3_laamp_flavour_ewan_4041_regiment_damage_flash_floods_max = 40

ep3_laamp_flavour_ewan_4041_regiment_damage_frozen_water_min = 15
ep3_laamp_flavour_ewan_4041_regiment_damage_frozen_water_max = 30

ep3_laamp_flavour_ewan_4041_regiment_damage_earthquake_min = 50
ep3_laamp_flavour_ewan_4041_regiment_damage_earthquake_max = 80

chariot_race_entrance_fee = {
	value = 50
}

chariot_race_base_cost_value = {
	value = 200
}

chariot_ordering_value = {
	value = 0
	add = aptitude:charioteer_court_position
	round = yes
}

charioteer_chance_to_win = {
	value =  1
	add = prowess
	add = aptitude:charioteer_court_position
	round = yes
}

charioteer_chance_to_place = {
	value = 1
	add = prowess
	add = aptitude:charioteer_court_position
	round = yes
}

charioteer_chance_to_show = {
	value = 1
	add = prowess
	add = aptitude:charioteer_court_position
	round = yes
}

charioteer_victory_score_value = {
	value = 0
	if = {
		limit = { is_alive = yes}
		if = {
			limit = { has_variable = chariot_race_victory_score }
			add = var:chariot_race_victory_score
		}
	}
}

charioteer_passive_phase_gui_sort_value = {
	value = 1
	if = {
		limit = { is_alive = yes }
		add = this.aptitude:charioteer_court_position
	}
}

charioteer_placement_middle = {
	value = 0
	add = {
		value = involved_activity.var:num_charioteers
		divide = 2
	}
}

following_charioteer_index = {
	value = var:current_place_in_race
	add = 1
	max = 12
}

ahead_charioteer_index = {
	value = var:current_place_in_race
	subtract = 1
	min = 1
}

2_ahead_charioteer_index = {
	value = var:current_place_in_race
	subtract = 2
	min = 1
}

bookkeeper_small_commission_value = {
	value = 0.2
	if = {
		limit = {
			scope:host.court_position:bookmaker_court_position ?= {
				has_character_flag = bookmaker_cooking_the_books
			}
		}
		multiply = 3
	}
}

bookkeeper_medium_commission_value = {
	value = 0.3
	if = {
		limit = {
			scope:host.court_position:bookmaker_court_position ?= {
				has_character_flag = bookmaker_cooking_the_books
			}
		}
		multiply = 3
	}
}

bookkeeper_large_commission_value = {
	value = 0.4
	if = {
		limit = {
			scope:host.court_position:bookmaker_court_position ?= {
				has_character_flag = bookmaker_cooking_the_books
			}
		}
		multiply = 3
	}
}

# Distance value used instead of diplo range for LAAMP interactions range
ep3_laamp_interaction_max_range = 450000 #from Byzantion to west and east edges of ERE in 1066

purchase_land_county_cost_value = 400
purchase_land_duchy_cost_value = 1000

ep3_laamp_invasion_levies_size_value = {
	value = 0
	add = scope:supporter.max_military_strength
	divide = 10
	max = {
		# Standard base max.
		value = varangian_adventurers_standard_levy_cap_value
	}
}

ep3_laamp_invasion_ai_targeting_value = {
	value = 100
	scope:attacker = {
		# Weight up claims.
		if = {
			limit = {
				scope:attacker = {
					any_claim = {
						OR = {
							holder = scope:defender
							holder.top_liege = scope:defender
						}
					}
				}
			}
			add = 100
		}
		# Weight up those who are already overwhelmed.
		if = {
			limit = {
				scope:defender = { gold < 0 }
			}
			add = 100
		}
		# Weight up those who are already overwhelmed.
		if = {
			limit = {
				scope:defender = { is_at_war = yes }
			}
			add = 100
		}
		# Weight up independent dukes.
		if = {
			limit = {
				scope:defender = { highest_held_title_tier = tier_duchy }
			}
			add = 100
		}
		# Weight up independent kings.
		if = {
			limit = {
				scope:defender = { highest_held_title_tier = tier_kingdom }
			}
			add = 50
		}
		# Weight up for coastal counties.
		every_in_list = {
			list = target_titles
			limit = {
				tier = tier_county
				is_coastal_county = yes
			}
			add = 50
		}
		# Weight down independent religious heads.
		if = {
			limit = { scope:defender = scope:defender.faith.religious_head }
			add = -1000
		}
		# Weight down independent counts.
		if = {
			limit = {
				scope:defender = { highest_held_title_tier = tier_county }
			}
			add = -200
		}
		# Weight down small players.
		if = {
			limit = {
				scope:defender = {
					is_ai = no
					realm_size <= minor_realm_size
				}
			}
			add = -1000
		}
	}
}

ep3_laamp_invasion_cb_cost = {
	add = {
		if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier >= tier_empire
				}
			}
			add = 10000
		}
		else_if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier >= tier_kingdom
				}
			}
			add = 5000
		}
		else_if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier >= tier_duchy
				}
			}
			add = 2000
		}
		else = { add = 500 }
		desc = "CB_BASE_COST"
	}

	# Reduce the cost to make this more feasible for the AI.
	scope:attacker = {
		if = {
			limit = { is_ai = yes }
			multiply = 0.1
		}
	}

	#Halve cost if Lust for Land modifier
	if = {
		limit = {
			scope:attacker = {
				has_character_modifier = ep3_lust_for_land_modifier
			}
		}
		divide = {
			value = 2
			desc = "lust_for_land_modifier_tt"
		}
	}
}

ep3_laamp_invasion_base_piety_cost = {
	add = common_cb_impious_piety_cost
	if = {
		limit = {
			scope:defender.faith = scope:attacker.faith
		}
		add = {
			value = major_piety_value
			desc = CB_SAME_FAITH_COST
		}
	}
}

# Governor efficiency used in code
# root - charater that is evaluated for the governorship
# End result should be a multiplier, but we add larger values to present it better in the breakdown. E.g. we add 10, but divide it with 100 to make it 0.1.
governor_efficiency = {
	value = {
		# Everyone will calculate their Efficiency according to the following:
		# Skills
		add = {
			add = {
				desc = diplomacy_concept
				add = {
					value = diplomacy
					multiply = 1.7
				}
				round = yes
			}
			add = {
				desc = martial_concept
				add = {
					value = martial
					multiply = 1.7
				}
				round = yes
			}
			add = {
				desc = stewardship_concept
				add = {
					value = stewardship
					multiply = 1.7
				}
				round = yes
			}
			add = {
				desc = intrigue_concept
				add = {
					value = intrigue
					multiply = 1.7
				}
				round = yes
			}
			add = {
				desc = learning_concept
				add = {
					value = learning
					multiply = 1.7
				}
				round = yes
			}
			divide = 100
		}

		# Rank 4 or 5 education trait
		if = {
			limit = {
				OR = {
					has_trait = education_diplomacy_5
					has_trait = education_martial_5
					has_trait = education_stewardship_5
					has_trait = education_intrigue_5
					has_trait = education_learning_5
				}
			}
			add = {
				add = {
					value = 4
					desc = has_rank_5_education_desc
				}
				divide = 100
			}
		}
		else_if = {
			limit = {
				OR = {
					has_trait = education_diplomacy_4
					has_trait = education_martial_4
					has_trait = education_stewardship_4
					has_trait = education_intrigue_4
					has_trait = education_learning_4
				}
			}
			add = {
				add = {
					value = 2
					desc = has_rank_4_education_desc
				}
				divide = 100
			}
		}

		# Governor trait
		if = { # You only get a small bonus since the trait also provides skills that will increase Efficiency further
			limit = {
				has_trait = governor
				has_trait_xp = {
					trait = governor
					value >= 25
				}
			}
			add = {
				add = {
					value = 0
					if = {
						limit = {
							has_trait_xp = {
								trait = governor
								value >= 100
							}
						}
						add = 12
					}
					else_if = {
						limit = {
							has_trait_xp = {
								trait = governor
								value >= 75
							}
						}
						add = 9
					}
					else_if = {
						limit = {
							has_trait_xp = {
								trait = governor
								value >= 50
							}
						}
						add = 6
					}
					else_if = {
						limit = {
							has_trait_xp = {
								trait = governor
								value >= 25
							}
						}
						add = 3
					}
					desc = governor_trait_short_desc
				}
				divide = 100
			}
		}

		# Estate
		if = {
			limit = { domicile ?= { has_domicile_parameter = estate_governor_efficiency_bonus } }
			add = {
				add = {
					value = estate_governor_efficiency_bonus_value
					multiply = 100
					desc = "[estate_buildings|E]"
				}
				divide = 100
			}
		}
		else_if = {
			limit = {
				house ?= {
					house_head ?= {
						domicile ?= { has_domicile_parameter = estate_governor_efficiency_bonus_for_house_members }
					}
				}
			}
			add = {
				add = {
					value = estate_governor_efficiency_house_bonus_value
					multiply = 100
					desc = "[estate_buildings|E]"
				}
				divide = 100
			}
		}

		# Bonuses from active Governorship Obligation/Administration
		if = {
			limit = { vassal_contract_has_flag = admin_martial_obligation_bonus }
			add = {
				add = {
					value = martial
					multiply = efficiency_skill_increase_value
					desc = admin_martial_obligation_bonus_desc
				}
				divide = 100
			}
		}
		if = {
			limit = { vassal_contract_has_flag = admin_stewardship_obligation_bonus }
			add = {
				add = {
					value = stewardship
					multiply = efficiency_skill_increase_value
					desc = admin_stewardship_obligation_bonus_desc
				}
				divide = 100
			}
		}
		if = {
			limit = { vassal_contract_has_flag = admin_prowess_obligation_bonus }
			add = {
				add = {
					value = prowess
					multiply = efficiency_skill_increase_value
					desc = admin_prowess_obligation_bonus_desc
				}
				divide = 100
			}
		}
		if = {
			limit = { vassal_contract_has_flag = admin_prestige_obligation_bonus }
			add = {
				add = {
					value = prestige_level
					multiply = efficiency_currency_level_increase_value
					desc = admin_prestige_obligation_bonus_desc
				}
				divide = 100
			}
		}
		if = {
			limit = { vassal_contract_has_flag = admin_tradeport_obligation_bonus }
			add = {
				add = {
					every_sub_realm_barony = {
						limit = {
							title_province = { has_building_or_higher = common_tradeport_01 }
						}
						add = efficiency_building_increase_value
					}
					desc = admin_tradeport_obligation_bonus_desc
				}
				divide = 100
			}
		}

		# Dynasty Legacy Perk
		if = {
			limit = {
				dynasty ?= { ep3_administrative_legacy_track_perks >= 1 }
			}
			add = {
				add = {
					value = 5
					desc = "[GetDynastyPerk('ep3_administrative_legacy_1').GetName]"
				}
				divide = 100
			}
		}

		# Lifestyle Perks
		# Positions of Power Stewardship Perk
		if = {
			limit = { has_perk = positions_of_power_perk }
			add = {
				add = {
					value = 5
					desc = "[GetPerk('positions_of_power_perk').GetName(GetPlayer)]"
				}
				divide = 100
			}
		}
		# Strict Organization Martial Perk
		if = {
			limit = { has_perk = strict_organization_perk }
			add = {
				add = {
					value = 5
					desc = "[GetPerk('strict_organization_perk').GetName(GetPlayer)]"
				}
				divide = 100
			}
		}
		
		# Eparch court position
		if = {
			limit = {
				employs_court_position = eparch_court_position
			}
			add = {
				add = {
					value = 1
					court_position:eparch_court_position ?= {
						add = aptitude:eparch_court_position
					}
					multiply = 2
					desc = eparch_increase_efficiency_desc
				}
				divide = 100
			}
		}
		else_if = {
			limit = {
				top_liege ?= {
					employs_court_position = eparch_court_position
				}
				NOT = { has_court_position = eparch_court_position }
				domicile ?= {
					domicile_location = {
						this = county.holder.top_liege.capital_province
					}
				}
			}
			add = {
				add = {
					value = 1
					top_liege ?= {
						court_position:eparch_court_position ?= {
							add = aptitude:eparch_court_position
						}
					}
					desc = eparch_increase_efficiency_vassal_desc
				}
				divide = 100
			}
		}

		# Events
		add = {
			add = {
				desc = gov_efficiency_events_desc
				if = {	#ep3_emperor_yearly.2150
					limit = { has_character_flag = ep3_2150_found_truth }
					add = 10
				}
				if = {	#ep3_governor_yearly.3070
					limit = {
						has_character_modifier = contented_governing_countrymen_modifier
						exists = capital_county
						culture = capital_county.culture
					}
					add = 10
				}
				if = {	#ep3_emperor_yearly.2160
					limit = { has_character_flag = ep3_2160_success }
					add = 5
				}
				if = {	#ep3_emperor_yearly.2160
					limit = { has_character_flag = ep3_2160_failure }
					add = -5
				}
				if = {	#ep3_governor_yearly.3100
					limit = { has_character_modifier = ep3_ignoring_realm_decline_modifier }
					add = -5
				}
				if = {	#ep3_governor_yearly.3080
					limit = { has_character_flag = ep3_governor_ignored_isolation }
					add = -5
				}
				if = {	#ep3_governor_yearly.3080
					limit = { has_character_modifier = ep3_anxious_for_new_assignment_modifier }
					add = -5
				}
				if = {	#ep3_emperor_yearly.2170
					limit = { has_character_flag = ep3_2170_success }
					add = 5
				}
				if = {
					limit = { has_character_modifier = restored_greek_theme_modifier }
					add = 10
				}
				if = {	#ep3_emperor_yearly.2190
					limit = { has_character_flag = ep3_2190_honest }
					add = 10
				}
				if = {	#ep3_emperor_yearly.2200
					limit = { has_character_flag = ep3_embezzling_governor }
					add = -5
				}
				if = {
					limit = { has_character_modifier = ep3_bolstered_governor_treasury_modifier }
					add = 5
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8050_imperial_recruiter_modifier }
					add = 5
				}
				if = {
					limit = { has_character_flag = ep3_8060_efficiency_drop }
					add = -5
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8050_imperial_resources_modifier }
					add = -5
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8120_relief_rejected_modifier }
					add = -5
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8130_raised_taxes_modifier }
					add = -5
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8130_raised_almonage_modifier }
					add = 5
				}
				if = {
					limit = { has_character_modifier = noble_administrators_modifier }
					add = 5
				}
				if = {
					limit = { has_character_flag = ep3_governor_yearly_3050_neglect_duties }
					add = -5
				}
				if = {
					limit = { has_character_flag = ep3_governor_yearly_3002_landlord_fight }
					add = -5
				}
				if = {
					limit = { has_character_flag = ep3_governor_yearly_3002_landlord_wins }
					add = -10
				}
				if = {
					limit = { has_character_flag = ep3_governor_yearly_3002_landlord_dominates }
					add = -15
				}
				if = {
					limit = { has_character_modifier = ep3_governor_yearly_8040_domicile_development_modifier }
					add = -10
				}
			}
			divide = 100
		}

		# Interactions
		add = {
			add = {
				desc = gov_efficiency_interactions_desc
				if = {
					limit = { has_character_modifier = ep3_boost_efficiency_modifier }
					add = {
						value = {
							value = efficiency_interaction_change_value
							multiply = var:ep3_governor_efficiency_stack
						}
					}
				}
				if = {
					limit = { has_character_modifier = ep3_damage_efficiency_modifier }
					add = {
						value = {
							value = efficiency_interaction_change_value
							multiply = -1 # Negativise
							multiply = var:ep3_governor_efficiency_stack
						}
					}
				}
			}
			divide = 100
		}
		
		# Schemes
		add = {
			add = {
				desc = "[GetModifier('scheme_slandered_modifier').GetNameWithTooltip]"
				if = {
					limit = { has_character_modifier = scheme_slandered_modifier }
					add = efficiency_slandered_value
				}
			}
			divide = 100
		}

		# Eunuch
		if = {
			limit = {
				exists = liege
				liege.culture ?= {
					has_cultural_parameter = eunuch_trait_bonuses
				}
				has_trait = eunuch_1
			}
			add = {
				add = {
					value = 10
					desc = court_position_eunuch_trait
				}
				divide = 100
			}
		}
		else_if = {
			limit = {
				exists = liege
				liege.culture ?= {
					has_cultural_parameter = eunuch_trait_bonuses
				}
				has_trait = beardless_eunuch
			}
			add = {
				add = {
					value = 10
					desc = court_position_beardless_eunuch_trait
				}
				divide = 100
			}
		}

		# Non-de jure governors get a penalty
		if = {
			limit = {
				exists = top_liege
				top_liege = { save_temporary_scope_as = top_liege_temp }
				is_governor = yes
				any_sub_realm_county = {
					NOT = {
						trigger_if = {
							limit = { scope:top_liege_temp.highest_held_title_tier = tier_empire }
							empire ?= scope:top_liege_temp.primary_title
						}
						trigger_else = { kingdom ?= scope:top_liege_temp.primary_title }
					}
				}
			}
			add = {
				add = {
					value = de_jure_governor_bonus
					desc = de_jure_governor_desc
				}
				divide = 100
			}
		}
		min = 0.5 # Can't go lower than -50%
		max = 1.5 # Can't go higher than +50%
	}
}

# Governor efficiency as presented in the interface.
governor_efficiency_presented = {
	value = {
		add = governor_efficiency
		multiply = 100 # Make percentile
		subtract = 100 # Shift calculation to be between -50% and 50%
	}
}

efficiency_skill_increase_value = 0.5
efficiency_currency_level_increase_value = 4
efficiency_building_increase_value = 2
efficiency_slandered_value = -5
admin_contract_cooldown_value = 5

governance_task_contract_tier_value = {
	value = 1

	if = {
		limit = {
			scope:task_contract.task_contract_tier >= define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER
			scope:task_contract.task_contract_tier < define:NTaskContract|HIGH_TASK_CONTRACT_TIER
		}
		add = 0.5
	}
	else_if = {
		limit = {
			scope:task_contract.task_contract_tier >= define:NTaskContract|HIGH_TASK_CONTRACT_TIER
		}
		add = 1
	}
}

governance_modifier_scaling_tier_value = {
	value = 1
	if = {
		limit = {
			scope:task_contract.task_contract_tier >= define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER
			scope:task_contract.task_contract_tier < define:NTaskContract|HIGH_TASK_CONTRACT_TIER
		}
		add = 1
	}
	else_if = {
		limit = {
			scope:task_contract.task_contract_tier >= define:NTaskContract|HIGH_TASK_CONTRACT_TIER
		}
		add = 2
	}
	desc = MODIFIER_DEFINITION_MAIN_DESC_GOVERNANCE_TIER
}

estate_governance_contract_bonus_value = 0.5

appointment_cost_multiplier_value = {
	value = 1
	if = {
		limit = {
			top_liege = { has_realm_law = male_preference_law }
			is_female = yes
		}
		add = 1
	}
	else_if = {
		limit = {
			top_liege = { has_realm_law = male_only_law }
			is_female = yes
		}
		multiply = 3
	}
	else_if = {
		limit = {
			top_liege = { has_realm_law = female_preference_law }
			is_female = no
		}
		multiply = 1
	}
	else_if = {
		limit = {
			top_liege = { has_realm_law = female_only_law }
			is_female = no
		}
		multiply = 3
	}
}

appointment_minor_influence_cost = {
	value = 50
}

appointment_medium_influence_cost = {
	value = 100
}

appointment_major_influence_cost = {
	value = 250
}

appointment_score_minor_value = {
	value = appointment_minor_influence_cost
	multiply = 0.2
}

appointment_score_medium_value = {
	value = appointment_medium_influence_cost
	multiply = 0.2
}

appointment_score_major_value = {
	value = appointment_major_influence_cost
	multiply = 0.2
}

appointment_score_minor_loss_value = {
	value = appointment_score_minor_value
	multiply = -1
}

appointment_score_medium_loss_value = {
	value = appointment_score_medium_value
	multiply = -1
}

appointment_score_major_loss_value = {
	value = appointment_score_major_value
	multiply = -1
}

appointment_score_max_tt_value = {
	value = 0
	if = {
		limit = {
			exists = scope:target
			exists = scope:secondary_recipient
			NOT = { scope:secondary_recipient = scope:target.current_heir }
		}
		add = {
			value = "scope:target.current_heir.appointment_candidate_score(scope:target)"
			multiply = 1.1
		}
		subtract = "scope:secondary_recipient.appointment_candidate_score(scope:target)"
		min = 4 # We do this to prevent cases when the default score of the candidate is already much higher than that the heir
	}
	multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
}

appointment_score_medium_tt_value = {
	value = appointment_score_medium_value
	multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
}

appointment_score_major_tt_value = {
	value = appointment_score_major_value
	multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
}

appointment_score_medium_loss_tt_value = {
	value = appointment_score_medium_loss_value
	multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
}

appointment_score_major_loss_tt_value = {
	value = appointment_score_major_loss_value
	multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
}

appointment_non_preferred_gender_penalty_value = 0.8
appointment_opposite_gender_penalty_value = 1

admin_council_cost_value = {
	add = {
		add = {
			value = monumental_influence_value
			multiply = 2
		}
		desc = BASE
	}

	# Cost reduction from Estates
	if = {
		limit = {
			scope:actor ?= {
				domicile ?= { has_domicile_parameter = estate_reduce_council_position_cost }
			}
		}
		multiply = {
			value = {
				value = 1
				subtract = estate_reduce_council_position_cost_value
			}
			desc = market_02_domicile_building
		}
	}
	
	# Cost reduction from lifestyles
	if = {
		limit = {
			scope:actor ?= {
				has_perk = positions_of_power_perk
			}
		}
		multiply = {
			value = {
				value = 1
				subtract = admin_council_cost_perk_value
			}
			desc = "[GetPerk('honored_to_serve_perk').GetName(GetPlayer)]"
		}
	}

	# Being a Powerful or Dominant Family reduces the cost significantly
	if = {
		limit = {
			scope:actor.house = { is_dominant_family = yes }
		}
		multiply = {
			value = 0.25
			desc = is_dominant_family_desc
		}
	}
	else_if = {
		limit = {
			scope:actor.house = { is_powerful_family = yes }
		}
		multiply = {
			value = 0.5
			desc = is_powerful_family_desc
		}
	}
}
admin_council_loss_value = {
	value = admin_council_cost_value
	multiply = -1
}
admin_council_cost_perk_value = 0.3

admin_state_faith_cost_perk_value = 0.2

estate_move_cooldown_value = 180
estate_governor_efficiency_bonus_value = 0.1
estate_governor_efficiency_house_bonus_value = 0.05
estate_increased_governance_scheme_success_value = 10
estate_local_theme_cost_reduction_value = -0.25
estate_court_tutor_cost_reduction_value = 0.5
estate_increased_tutor_aptitude_value = 20
estate_increase_charioteer_aptitude_value = 20
estate_improved_wine_cellar_1_value = 0.1
estate_improved_wine_cellar_2_value = 0.25
estate_improved_wine_cellar_3_value = 0.5
estate_increase_bodyguard_aptitude_1_value = 5
estate_increase_bodyguard_aptitude_2_value = 15
estate_cheaper_feast_cost_value = 0.2
estate_reduce_council_position_cost_value = 0.2
estate_reduce_commission_artifact_cost_value = 0.5
estate_increase_antiquarian_aptitude_value = 20
estate_increase_physician_aptitude_value = 10
estate_increase_master_of_hunt_aptitude_value = 20
estate_increase_master_of_horse_aptitude_value = 20
estate_cheaper_hunt_cost_value = 0.2
estate_granary_gold_bonus_value = 0.5
estate_increase_powerful_famil_rating_per_dynasty_level_value = 3

chariot_kathisma_access_difficulty_value = {
	value = medium_skill_rating
	if = {
		limit = {
			OR = {
				is_powerful_vassal = yes
				any_held_title = { is_noble_family_title = yes }
			}
		}
		divide = 2
	}
}

marshal_court_jester_contribution_value = {
	add = diplomacy
	divide = 60
}

camp_improved_court_physician_aptitude_value = 10

ep3_iconoclast_vassal_count = {
	value = 0
	every_vassal_or_below = {
		limit = { faith = faith:iconoclast }
		add = 1
	}
}

# DYNASTY LEGACY PERKS


#CONTRACTS
task_contract_tier_value = {
	value = highest_held_title_tier
}

task_contract_escort_gold_value = {
	value = minor_gold_max_value
	if = {
		limit = {
			highest_held_title_tier > 1
		}
		multiply = highest_held_title_tier
	}
}
#ratio between attacker's military strength and defender's strength
task_contract_join_war_attacker_strength_ratio_value = {
	value = scope:attacker.current_military_strength
	divide = scope:defender.current_military_strength
}

task_contract_war_duration_value = {
	value = root.war_days
}
task_contract_attacker_war_score_value = {
	value = root.attacker_war_score
}
task_contract_defender_war_score_value = {
	value = root.defender_war_score
}
task_contract_t1_value = { value = define:NTaskContract|LOW_TASK_CONTRACT_TIER }
task_contract_t2_value = { value = define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER }
task_contract_t3_value = { value = define:NTaskContract|HIGH_TASK_CONTRACT_TIER }

council_task_contracts_limit_value = {
	value = 1
}

##################################################
# Contract Reward Values

# Gold values for laamps.
## Basic gold values are based on domain/income size. This isn't useful for us, so we balance on a separate scale.
## Bear in mind that these are heavily scaled by _tier_ later on.
miniscule_gold_laamps_value = {
	value = 5
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
tiny_gold_laamps_value = {
	value = 10
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
minor_gold_laamps_value = {
	value = 25
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
medium_gold_laamps_value = {
	value = 50
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
major_gold_laamps_value = {
	value = 80
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
massive_gold_laamps_value = {
	value = 120
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}
monumental_gold_laamps_value = {
	value = 180
	if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_late_medieval }
		}
		multiply = 1.75
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_high_medieval }
		}
		multiply = 1.25
	}
	else_if = {
		limit = {
			culture = { has_cultural_era_or_later = culture_era_early_medieval }
		 }
		multiply = 1
	}
	else = { multiply = 0.75 }
}

# Opinion.
## Default opinion reward for excelling when completing a contract.
task_contract_opinion_excelled_reward_value = 60
## Default opinion reward for successfully completing a contract.
task_contract_opinion_standard_reward_value = 30
## Default opinion reward for kinda completing a contract.
task_contract_opinion_reduced_reward_value = 20
## Default opinion penalty for goofing a contract.
task_contract_opinion_standard_failure_value = -30
## Default opinion penalty for _massively_ goofing a contract.
task_contract_opinion_critical_failure_value = -50
## Opinion penalty for successfully prosecuting a criminal contract against someone.
task_contract_opinion_crime_success_value = -60
## Opinion penalty for successfully prosecuting a criminal contract against someone.
task_contract_opinion_crime_failure_value = -30
## Opinion penalty for successfully prosecuting a criminal contract against someone.
task_contract_opinion_crime_backed_down_value = -10

# Extra rewards.
task_contract_extra_reward_multiplier_value = 1.5 # Update all relevant parameter tootlips if this is changed! e.g. improved_learning_contract_rewards

# How do we multiply the cash rewards in a task contract depending on the employer's tier?
task_contract_tier_gold_multiplier_value = {
	value = 1 # Barons and counts are neutral, so no multiplier needed here.
	if = {
		limit = { exists = scope:task_contract.task_contract_employer }
		# Kings'n'emperors.
		if = {
			limit = { scope:task_contract.task_contract_employer.highest_held_title_tier >= define:NTaskContract|HIGH_TASK_CONTRACT_TIER }
			add = 3
		}
		# Dukes.
		else_if = {
			limit = { scope:task_contract.task_contract_employer.highest_held_title_tier >= define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER }
			add = 2
		}
		# Courtiers first, as we give them a bit less.
		else_if = {
			limit = { scope:task_contract.task_contract_employer.highest_held_title_tier <= 0 }
			add = 0.5
			ceiling = yes
		}
	}
}
# How do we multiply the non-cash rewards in a task contract depending on the employer's tier?
task_contract_tier_other_reward_multiplier_value = {
	value = 1 # Barons and counts are neutral, so no multiplier needed here.
	if = {
		limit = { exists = scope:task_contract.task_contract_employer }
		# Kings'n'emperors.
		if = {
			limit = { scope:task_contract.task_contract_employer.highest_held_title_tier >= define:NTaskContract|HIGH_TASK_CONTRACT_TIER }
			add = 2.5
		}
		# Dukes.
		else_if = {
			limit = { scope:task_contract.task_contract_employer.highest_held_title_tier >= define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER }
			add = 1.5
		}
	}
}

# PRESTIGE — NORMAL CONTRACTS
## Default scaling reward.
task_contract_success_prestige_gain_full_value = {
	value = 150
	multiply = task_contract_tier_other_reward_multiplier_value
	if = {
		limit = {
			scope:taker ?= {
				has_perk = firm_hand_perk
			}
		}
		multiply = 1.2
	}
	if = {
		limit = {
			scope:taker ?= {
				house = {
					has_house_modifier = legacy_adventurer_house_modifier
				}
			}
		}
		multiply = 1.15
	}
}
## Boosted scaling reward.
task_contract_success_prestige_gain_critical_value = {
	value = task_contract_success_prestige_gain_full_value
	multiply = 1.5
}
## Half default scaling reward.
task_contract_success_prestige_gain_half_value = {
	value = task_contract_success_prestige_gain_full_value
	multiply = 0.5
	min = 25
}
## Default scaling loss on failure.
task_contract_failure_prestige_loss_full_value = {
	value = -25
	multiply = task_contract_tier_other_reward_multiplier_value
}
## Doubled prestige loss
task_contract_failure_prestige_loss_double_value = {
	value = task_contract_failure_prestige_loss_full_value
	multiply = 2
}

# PRESTIGE — CRIMINAL CONTRACTS
## Criminal scaling loss on failure.
### A little higher, for obvious reasons.
task_contract_failure_prestige_loss_crime_value = {
	value = task_contract_failure_prestige_loss_full_value
	multiply = task_contract_tier_other_reward_multiplier_value
}
task_contract_failure_prestige_loss_crime_half_value = {
	value = task_contract_failure_prestige_loss_crime_value
	multiply = 0.5
}
## Default award on invalidation.
task_contract_invalidated_prestige_gain_value = {
	value = task_contract_success_prestige_gain_full_value
	multiply = 0.5
}

# PIETY
## Default scaling reward.
task_contract_success_piety_gain_full_value = {
	value = 100
	multiply = task_contract_tier_other_reward_multiplier_value
}
##Critical scaling reward
task_contract_success_piety_gain_critical_value = {
	value = task_contract_success_piety_gain_full_value
	multiply = 2
}
## Half default scaling reward.
task_contract_success_piety_gain_half_value = {
	value = task_contract_success_piety_gain_full_value
	multiply = 0.5
	min = 25
}
## Default scaling loss on failure.
task_contract_failure_piety_loss_full_value = {
	value = -50
	multiply = task_contract_tier_other_reward_multiplier_value
}

# GOLD — NORMAL CONTRACTS
## Default scaling reward.
task_contract_success_gold_gain_full_value = {
	# Base value + multiplier.
	value = 50
	multiply = task_contract_tier_gold_multiplier_value
	# Lifestyle perks.
	if = {
		limit = {
			exists = scope:task_contract.task_contract_taker
			scope:task_contract.task_contract_taker = { has_perk = at_any_cost_perk }
		}
		multiply = 1.25
	}
	# Stuff that NEEDS to stay at the bottom.
	## Vary our final tally up a bit.
	if = {
		limit = {
			exists = scope:task_contract.task_contract_taker
			scope:task_contract.task_contract_employer.ai_greed != 0
		}
		add = {
			value = scope:task_contract.task_contract_employer.ai_greed
			multiply = -0.2
		}
	}
	## Plus change the last digit around slightly so the values look a little less robotic.
	if = {
		limit = { exists = scope:gold_fuzz }
		add = scope:gold_fuzz
	}
	## And boost a bit further for exceptional rewards, so that they're never beneath the common rewards.
	if = {
		limit = {
			exists = scope:gold_safety_margin
			scope:gold_safety_margin = flag:yes
		}
		add = 10
	}
	## Shouldn't happen but just in case someone is really, really, _really_ stingy: never pay less than at least a truly pathetic amount.
	min = 25
}
## Critical scaling reward.
task_contract_success_gold_gain_critical_value = {
	value = task_contract_success_gold_gain_full_value
	if = {
		limit = { exists = scope:task_contract_tier }
		if = {
			limit = { scope:task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
	else = {
		if = {
			limit = { scope:task_contract.task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract.task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
}
## Half default scaling reward.
task_contract_success_gold_gain_half_value = {
	value = task_contract_success_gold_gain_full_value
	multiply = 0.5
}
## One third default scaling reward.
task_contract_success_gold_gain_third_value = {
	value = task_contract_success_gold_gain_full_value
	multiply = 0.33
}
## Default award on invalidation.
task_contract_invalidated_gold_gain_value = {
	value = task_contract_success_gold_gain_full_value
	multiply = 0.1
}

# GOLD — TRAVEL CONTRACTS
## Travel scaling reward.
task_contract_success_gold_gain_travel_value = {
	# Base value + multiplier.
	value = 75
	multiply = task_contract_tier_gold_multiplier_value
	# Lifestyle perks.
	if = {
		limit = { exists = scope:task_contract.task_contract_taker }
		if = {
			limit = {
				scope:task_contract.task_contract_taker = { has_perk = at_any_cost_perk }
			}
			multiply = 1.25
		}
		if = {
			limit = {
				scope:task_contract.task_contract_taker = { has_perk = malice_implicit_perk }
			}
			multiply = 2
		}
	}
	# Stuff that NEEDS to stay at the bottom.
	## Vary our final tally up a bit.
	if = {
		limit = {
			exists = scope:task_contract.task_contract_employer
			scope:task_contract.task_contract_employer.ai_greed != 0
		}
		add = {
			value = scope:task_contract.task_contract_employer.ai_greed
			multiply = -0.2
		}
	}
	## Plus change the last digit around slightly so the values look a little less robotic.
	if = {
		limit = { exists = scope:gold_fuzz }
		add = scope:gold_fuzz
	}
	## And boost a bit further for exceptional rewards, so that they're never beneath the common rewards.
	if = {
		limit = {
			exists = scope:gold_safety_margin
			scope:gold_safety_margin ?= flag:yes
		}
		add = 10
	}
	## Shouldn't happen but just in case someone is really, really, _really_ stingy: never pay less than at least a truly pathetic amount.
	min = 25
}
## Travel critical scaling reward.
task_contract_success_gold_gain_critical_travel_value = {
	value = task_contract_success_gold_gain_travel_value
	if = {
		limit = { exists = scope:task_contract_tier }
		if = {
			limit = { scope:task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
	else = {
		if = {
			limit = { scope:task_contract.task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract.task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
}
## Half travel scaling reward.
task_contract_success_gold_gain_half_travel_value = {
	value = task_contract_success_gold_gain_travel_value
	multiply = 0.5
}

# GOLD — CRIMINAL CONTRACTS
## Criminal scaling reward.
task_contract_success_gold_gain_crime_value = {
	# Base value + multiplier.
	value = 100
	multiply = task_contract_tier_gold_multiplier_value
	# Lifestyle perks.
	if = {
		limit = { exists = scope:task_contract.task_contract_taker }
		if = {
			limit = {
				scope:task_contract.task_contract_taker = { has_perk = at_any_cost_perk }
			}
			multiply = 1.25
		}
		if = {
			limit = {
				scope:task_contract.task_contract_taker = { has_perk = malice_implicit_perk }
			}
			multiply = 2
		}
	}
	# Stuff that NEEDS to stay at the bottom.
	## Vary our final tally up a bit.
	### This time, we add _more_ gold the greedier the employer is — it's a criminal reward, so the greedier they are, the more gold they have available (albeit not to the same degree as the inverse in normal contracts).
	if = {
		limit = { exists = scope:task_contract.task_contract_employer }
		if = {
			limit = { scope:task_contract.task_contract_employer.ai_greed > 1 }
			add = {
				value = scope:task_contract.task_contract_employer.ai_greed
				multiply = 0.1
			}
		}
		### Take it down only a marginal amount for generous chars, as we still want criminal contracts to almost always pay more.
		else_if = {
			limit = { scope:task_contract.task_contract_employer.ai_greed < -1 }
			add = {
				value = scope:task_contract.task_contract_employer.ai_greed
				multiply = -0.05
			}
		}
	}
	## Plus change the last digit around slightly so the values look a little less robotic.
	if = {
		limit = { exists = scope:gold_fuzz }
		add = scope:gold_fuzz
	}
	## And boost a bit further for exceptional rewards, so that they're never beneath the common rewards.
	if = {
		limit = {
			exists = scope:gold_safety_margin
			scope:gold_safety_margin = flag:yes
		}
		add = 10
	}
	## Shouldn't happen but just in case someone is really, really, _really_ stingy: never pay less than at least a truly pathetic amount.
	min = 60
}
## Criminal critical scaling reward.
task_contract_success_gold_gain_critical_crime_value = {
	value = task_contract_success_gold_gain_crime_value
	if = {
		limit = { exists = scope:task_contract_tier }
		if = {
			limit = { scope:task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
	else = {
		if = {
			limit = { scope:task_contract.task_contract_tier >= 3 }
			multiply = 1.25
		}
		else_if = {
			limit = { scope:task_contract.task_contract_tier >= 2 }
			multiply = 1.5
		}
		else = { multiply = 1.75 }
	}
}
## Half criminal scaling reward.
task_contract_success_gold_gain_half_crime_value = {
	value = task_contract_success_gold_gain_crime_value
	multiply = 0.5
}

# Provisions.
## We don't scale these by tier.
task_contract_success_provisions_gain_minor_value = 250
task_contract_success_provisions_gain_medium_value = 500
task_contract_success_provisions_gain_major_value = 1000
task_contract_success_provisions_gain_massive_value = 1500
task_contract_failure_provisions_gain_minor_value = 0

adventurer_siege_replenish_amount = {
	value = 0
	add = scope:barony.title_province.available_loot
	multiply = {
		value = 2
		if = {
			limit = {
				root = { has_perk = a_mans_home_perk }
			}
			add = 2
		}
	}
}

adventurer_siege_provisions_amount = {
	value = 0
	add = scope:barony.title_province.available_loot
	multiply = 20
}

human_provision_value = {
	value = 100
	add = scope:recipient.current_weight
	multiply = 3
}

# Gallowsbait XP
reduced_criminal_contract_xp_gain_value = 0.75
reduced_criminal_contract_xp_gain_loc_value = {
	value = 1
	subtract = reduced_criminal_contract_xp_gain_value
}
gallowsbait_xp_minor_gain = small_lifestyle_random_xp_low
gallowsbait_xp_medium_gain = {
	value = gallowsbait_xp_minor_gain
	multiply = 2 # Between low and mid
}
gallowsbait_xp_major_gain = small_lifestyle_random_xp_mid
gallowsbait_xp_massive_gain = small_lifestyle_random_xp_high

# Knight Errant XP
knight_errant_xp_minor_gain = small_lifestyle_random_xp_low
knight_errant_xp_medium_gain = {
	value = knight_errant_xp_minor_gain
	multiply = 2 # Between low and mid
}
knight_errant_xp_major_gain = small_lifestyle_random_xp_mid
knight_errant_xp_massive_gain = small_lifestyle_random_xp_high

laamp_base_0011_num_removable_potential_rivals_value = {
	every_relation = {
		type = potential_rival
		limit = { laamp_base_0011_valid_potential_rival_trigger = yes }
		add = 1
	}
}

laamp_base_2041_num_counties_to_rob_sans_capital_value = {
	value = laamp_base_2041_num_counties_to_rob_value
	add = -1
}

laamp_base_2041_num_counties_to_rob_value = {
	add = highest_held_title_tier
	add = 2
}

laamp_base_2011_desired_surveyable_holdings_per_tier_value = {
	value = highest_held_title_tier
	add = -1
	multiply = 3
}
laamp_base_2011_actual_surveyable_holdings_per_tier_value = {
	value = sub_realm_size
	every_sub_realm_barony = {
		limit = {
			holder.highest_held_title_tier = tier_barony
			NOT = { title_province = root.domicile.domicile_location }
		}
		add = 1
	}
}

laamp_base_contract_schemes_1301_min_troops_value = 750
laamp_base_contract_schemes_2661_other_skill_threshold_value = very_high_skill_rating
laamp_base_contract_schemes_2661_sacrifice_loan_length_min_value = 4
laamp_base_contract_schemes_2661_sacrifice_loan_length_max_value = 8

##################################################
# Camp Values

adventurer_hard_rule_contract_rewards_value = 1.25

# How much bonus gold do we get from warfare contracts for having the lockwagon upgrade?
## Applied within a script value, not as an extra modifier.
camp_improved_mercenary_contract_rewards_value = 1.5
## Shift the value around a bit for loc.
camp_improved_mercenary_contract_rewards_loc_value = {
	value = camp_improved_mercenary_contract_rewards_value
	add = -1
}

# How much a proportion of a camp building's cost do we get back on demolishing it?
camp_refund_mult_value = 0.5

# Camp additional buildings standard costs.
camp_building_upgrade_cost_t1_value = 60
camp_building_upgrade_cost_t2_value = 120
camp_building_upgrade_cost_t3_value = 180
camp_building_upgrade_cost_t4_value = 240
camp_building_upgrade_cost_t5_value = 300
camp_building_upgrade_cost_t6_value = 360

# Assorted gold costs for camp buildings.
camp_main_02_domicile_building_gold_cost_value = 200
camp_main_03_domicile_building_gold_cost_value = 350
camp_main_04_domicile_building_gold_cost_value = 500
supply_tent_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
supply_tent_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
supply_tent_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
supply_tent_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
supply_tent_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
supply_tent_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
supply_tent_sutler_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
supply_tent_mender_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
supply_tent_smithy_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
supply_tent_arsenal_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
supply_tent_reserve_provisions_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
supply_tent_reserve_water_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
supply_tent_climbing_gear_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
supply_tent_subdued_gear_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
barber_tent_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
barber_tent_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
barber_tent_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
barber_tent_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
barber_tent_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
barber_tent_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
barber_tent_surgeons_tools_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
barber_tent_dentists_tools_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
barber_tent_torturers_tools_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
barber_tent_reference_corpus_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
barber_tent_morticians_tools_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
baggage_train_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
baggage_train_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
baggage_train_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
baggage_train_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
baggage_train_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
baggage_train_ample_steeds_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_porters_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
baggage_train_trackers_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_kennel_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_siege_engineers_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
baggage_train_shrine_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
baggage_train_scribes_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
baggage_train_bartering_grounds_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
baggage_train_proof_of_claims_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_ransom_cages_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
baggage_train_negotiators_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
baggage_train_ascetics_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
baggage_train_pleasure_tents_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
mess_tent_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
mess_tent_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
mess_tent_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
mess_tent_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
mess_tent_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
mess_tent_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
mess_tent_herbalists_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
mess_tent_brewers_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
mess_tent_curers_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
mess_tent_bakers_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
mess_tent_cooks_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_fire_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_fire_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_fire_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
camp_fire_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
camp_fire_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
camp_fire_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
camp_fire_trailing_musicians_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_fire_wandering_poets_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_fire_capering_fools_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_fire_libations_for_the_lost_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_fire_local_hangers_on_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_fire_future_dreams_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
camp_fire_nightly_debates_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_fire_juicy_rumors_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
proving_grounds_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
proving_grounds_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
proving_grounds_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
proving_grounds_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
proving_grounds_horse_run_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
proving_grounds_camel_run_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
proving_grounds_elephantry_reserve_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_the_stump_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
proving_grounds_personal_bouts_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
proving_grounds_training_circle_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
proving_grounds_mock_battle_drills_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
proving_grounds_lockwagon_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_martial_study_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
proving_grounds_the_stick_game_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
proving_grounds_bodyguard_drills_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
camp_perimeter_01_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_perimeter_02_domicile_building_gold_cost_value = camp_building_upgrade_cost_t2_value
camp_perimeter_03_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
camp_perimeter_04_domicile_building_gold_cost_value = camp_building_upgrade_cost_t4_value
camp_perimeter_05_domicile_building_gold_cost_value = camp_building_upgrade_cost_t5_value
camp_perimeter_06_domicile_building_gold_cost_value = camp_building_upgrade_cost_t6_value
camp_perimeter_good_siting_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_perimeter_fixed_layout_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_perimeter_extra_watch_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_perimeter_palisade_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value
camp_perimeter_ditch_domicile_building_gold_cost_value = camp_building_upgrade_cost_t3_value
camp_perimeter_camp_hygiene_domicile_building_gold_cost_value = camp_building_upgrade_cost_t1_value

# Control weights for camp ai_will_do buildings.
## Base value.
camp_building_ai_base_t1 = 70
camp_building_ai_base_t2 = 80
camp_building_ai_base_t3 = 90
camp_building_ai_base_t4 = 100
### We use this for both highly useful buildings & for unique unlocks, so that camps prioritise stuff specific to their purpose.
camp_building_ai_base_t5 = 100
## Flavour bonuses.
camp_building_ai_bonus_t1 = 10
camp_building_ai_bonus_t2 = 20
camp_building_ai_bonus_t3 = 30
## Flavour penalties.
camp_building_ai_malus_t1 = -20
camp_building_ai_malus_t2 = -40
camp_building_ai_malus_t3 = -60
## Camp Purpose-specific bonuses.
camp_building_ai_camp_purpose_t1 = 20
camp_building_ai_camp_purpose_t2 = 40
camp_building_ai_camp_purpose_t3 = 60
## Try to pick matching upgrades depending on our lifestyle.
camp_building_ai_lifestyle_bias_value = 75

# Various camp ai_will_do building values.
camp_main_main_path_value = {
	value = camp_building_ai_base_t3
	# Traits.
	## ++ Arrogant.
	if = {
		limit = {
			owner = { has_trait = arrogant }
		}
		add = camp_building_ai_bonus_t2
	}
	## ++ Ambitious.
	if = {
		limit = {
			owner = { has_trait = ambitious }
		}
		add = camp_building_ai_bonus_t2
	}
	## - Content.
	if = {
		limit = {
			owner = { has_trait = content }
		}
		add = camp_building_ai_malus_t1
	}
	## -- Humble.
	if = {
		limit = {
			owner = { has_trait = humble }
		}
		add = camp_building_ai_malus_t2
	}
}
supply_tent_main_path_value = {
	value = camp_building_ai_base_t4
	# Traits.
	## +++ Logistician.
	if = {
		limit = {
			owner = { has_trait = logistician }
		}
		add = camp_building_ai_bonus_t3
	}
	## +++ Organiser.
	if = {
		limit = {
			owner = { has_trait = organizer }
		}
		add = camp_building_ai_bonus_t3
	}
	## + Patient
	if = {
		limit = {
			owner = { has_trait = patient }
		}
		add = camp_building_ai_bonus_t1
	}
	## + Diligent.
	if = {
		limit = {
			owner = { has_trait = diligent }
		}
		add = camp_building_ai_bonus_t1
	}
	## - Lazy.
	if = {
		limit = {
			owner = { has_trait = lazy }
		}
		add = camp_building_ai_malus_t1
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_supply_tent_reserve_provisions
					has_realm_law_flag = unlocks_supply_tent_reserve_water
					has_realm_law_flag = unlocks_supply_tent_climbing_gear
					has_realm_law_flag = unlocks_supply_tent_subdued_gear
				}
			}
		}
		add = camp_building_ai_camp_purpose_t2
	}
}
barber_tent_main_path_value = {
	value = camp_building_ai_base_t2
	# Traits.
	## +++ Lifestyle Physician.
	if = {
		limit = {
			owner = { has_trait = lifestyle_physician }
		}
		add = camp_building_ai_bonus_t3
	}
	## ++ Whole of Body.
	if = {
		limit = {
			owner = { has_trait = whole_of_body }
		}
		add = camp_building_ai_bonus_t2
	}
	## + Gregarious.
	if = {
		limit = {
			owner = { has_trait = gregarious }
		}
		add = camp_building_ai_bonus_t1
	}
	## + Eccentric.
	if = {
		limit = {
			owner = { has_trait = eccentric }
		}
		add = camp_building_ai_bonus_t1
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_barber_tent_reference_corpus
					has_realm_law_flag = unlocks_barber_tent_morticians_tools
				}
			}
		}
		add = camp_building_ai_camp_purpose_t1
	}
}
baggage_train_main_path_value = {
	value = camp_building_ai_base_t4
	# Traits.
	## +++ Logistician.
	if = {
		limit = {
			owner = { has_trait = logistician }
		}
		add = camp_building_ai_bonus_t3
	}
	## +++ Organiser.
	if = {
		limit = {
			owner = { has_trait = organizer }
		}
		add = camp_building_ai_bonus_t3
	}
	## ++ Gregarious.
	if = {
		limit = {
			owner = { has_trait = gregarious }
		}
		add = camp_building_ai_bonus_t2
	}
	## ++ Diligent.
	if = {
		limit = {
			owner = { has_trait = diligent }
		}
		add = camp_building_ai_bonus_t2
	}
	## - Lazy.
	if = {
		limit = {
			owner = { has_trait = lazy }
		}
		add = camp_building_ai_malus_t1
	}
	## -- Shy.
	if = {
		limit = {
			owner = { has_trait = shy }
		}
		add = camp_building_ai_malus_t2
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_baggage_train_siege_engineers
					has_realm_law_flag = unlocks_baggage_train_scribes
					has_realm_law_flag = unlocks_baggage_train_proof_of_claims
					has_realm_law_flag = unlocks_baggage_train_ransom_cages
					has_realm_law_flag = unlocks_baggage_train_negotiators
					has_realm_law_flag = unlocks_baggage_train_ascetics
				}
			}
		}
		add = camp_building_ai_camp_purpose_t3
	}
}
mess_tent_main_path_value = {
	value = camp_building_ai_base_t2
	# Traits.
	## +++ Gluttonous.
	if = {
		limit = {
			owner = { has_trait = gluttonous }
		}
		add = camp_building_ai_bonus_t3
	}
	## + Greedy.
	if = {
		limit = {
			owner = { has_trait = greedy }
		}
		add = camp_building_ai_bonus_t1
	}
	## --- Temperate.
	if = {
		limit = {
			owner = { has_trait = temperate }
		}
		add = camp_building_ai_malus_t3
	}
}
camp_fire_main_path_value = {
	value = camp_building_ai_base_t3
	# Traits.
	## +++ Gregarious.
	if = {
		limit = {
			owner = { has_trait = gregarious }
		}
		add = camp_building_ai_bonus_t3
	}
	## ++ Humble.
	if = {
		limit = {
			owner = { has_trait = humble }
		}
		add = camp_building_ai_bonus_t2
	}
	## --- Arrogant.
	if = {
		limit = {
			owner = { has_trait = arrogant }
		}
		add = camp_building_ai_malus_t3
	}
	## --- Shy.
	if = {
		limit = {
			owner = { has_trait = shy }
		}
		add = camp_building_ai_malus_t3
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_camp_fire_local_hangers_on
					has_realm_law_flag = unlocks_camp_fire_future_dreams
					has_realm_law_flag = unlocks_camp_fire_nightly_debates
					has_realm_law_flag = unlocks_camp_fire_juicy_rumors
				}
			}
		}
		add = camp_building_ai_camp_purpose_t3
	}
}
proving_grounds_main_path_value = {
	value = camp_building_ai_base_t3
	# Traits.
	## +++ Wrathful.
	if = {
		limit = {
			owner = { has_trait = wrathful }
		}
		add = camp_building_ai_bonus_t3
	}
	## +++ Athletic.
	if = {
		limit = {
			owner = { has_trait = athletic }
		}
		add = camp_building_ai_bonus_t3
	}
	## - Calm.
	if = {
		limit = {
			owner = { has_trait = calm }
		}
		add = camp_building_ai_malus_t1
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_proving_grounds_lockwagon
					has_realm_law_flag = unlocks_proving_grounds_martial_study
					has_realm_law_flag = unlocks_proving_grounds_the_stick_game
					has_realm_law_flag = unlocks_proving_grounds_bodyguard_drills
				}
			}
		}
		add = camp_building_ai_camp_purpose_t3
	}
}
camp_perimeter_main_path_value = {
	value = camp_building_ai_base_t1
	# Traits.
	## +++ Paranoid.
	if = {
		limit = {
			owner = { has_trait = paranoid }
		}
		add = camp_building_ai_bonus_t3
	}
	## ++ Deceitful.
	if = {
		limit = {
			owner = { has_trait = deceitful }
		}
		add = camp_building_ai_bonus_t2
	}
	## - Honest.
	if = {
		limit = {
			owner = { has_trait = honest }
		}
		add = camp_building_ai_malus_t1
	}
	## --- Trusting.
	if = {
		limit = {
			owner = { has_trait = trusting }
		}
		add = camp_building_ai_malus_t3
	}
	# Camp Purpose.
	if = {
		limit = {
			owner = {
				OR = {
					has_realm_law_flag = unlocks_camp_perimeter_extra_watch
					has_realm_law_flag = unlocks_camp_perimeter_palisade
					has_realm_law_flag = unlocks_camp_perimeter_ditch
				}
			}
		}
		add = camp_building_ai_camp_purpose_t1
	}
}

##################################################
# Misc Values

prison_break_value = {
	value = 1
	if = {
		limit = {
			is_primary_heir_of = prev
		}
		add = 10
	}
	if = {
		limit = {
			this = prev.primary_spouse
		}
		add = 10
	}
}

# Powerful Family Rating
# House power score is used in code to enable bonuses from powerful houses
# root - house under evaluation
house_power_score = {
	value = {
		value = 0

		save_temporary_scope_as = target_house
		# Add a small amount of score for each house member within the realm
		add = {
			every_house_member = {
				limit = { top_liege = scope:target_house.house_head.top_liege }
				add = 3
			}
			desc = members_in_realm_desc
		}

		# Add scoring based on the House Heads Level of Influence
		if = {
			limit = {
				house_head ?= { influence_level >= 1 }
			}
			add = {
				value = house_head.influence_level
				multiply = 5
				desc = house_head_influence_level_desc
			}
		}

		# Add scoring for every house member on top liege's council
		add = {
			house_head.top_liege ?= {
				every_councillor = {
					limit = {
						exists = house
						scope:target_house ?= house
					}
					add = 15
				}
			}
			desc = house_members_on_council_desc
		}

		# Malus for not practicing the state faith
		if = {
			limit = {
				exists = house_head
				NOT = { house_head.top_liege.primary_title.state_faith ?= house_head.faith }
			}
			add = {
				value = -25
				desc = house_head_different_faith_powerful_family_rating
			}
		}

		# Estate building bonuses
		if = { # Market
			limit = {
				house_head.domicile ?= {
					has_domicile_parameter = estate_increase_powerful_family_rating
					has_domicile_building_or_higher = market_05
				}
			}
			add = {
				value = 30
				desc = estate_buildings_desc
			}
		}
		else_if = {
			limit = {
				house_head.domicile ?= {
					has_domicile_parameter = estate_increase_powerful_family_rating
					has_domicile_building_or_higher = market_03
				}
			}
			add = {
				value = 20
				desc = estate_buildings_desc
			}
		}
		else_if = {
			limit = {
				house_head.domicile ?= { has_domicile_parameter = estate_increase_powerful_family_rating }
			}
			add = {
				value = 10
				desc = estate_buildings_desc
			}
		}
		if = { # Catacombs
			limit = {
				exists = house_head.dynasty
				house_head.domicile ?= { has_domicile_parameter = estate_powerful_family_rating_per_dynasty_level }
			}
			add = {
				value = estate_increase_powerful_famil_rating_per_dynasty_level_value
				multiply = house_head.dynasty.dynasty_prestige_level
				desc = estate_buildings_desc
			}
		}

		# When your estate is located in the realm's capital
		if = {
			limit = {
				house_head ?= {
					exists = top_liege.capital_province
					domicile ?= {
						is_domicile_type = estate
						domicile_location = prev.top_liege.capital_province
					}
				}
			}
			add = {
				value = 10
				desc = estate_in_capital_desc
			}
		}

		# Obligation/Theme Administration bonus
		if = {
			limit = {
				house_head ?= { vassal_contract_has_flag = admin_prestige_obligation_bonus }
			}
			add = {
				value = 10
				desc = imperial_theme_type_desc
			}
		}

		# Heart of the Family Diplomacy Lifestyle Perk
		if = {
			limit = { house_head ?= { has_perk = familial_familiar_perk } }
			add = {
				value = 10
				desc = familial_familiar_perk_name
			}
		}

		# Base score increase from Power is a Ladder dynasty legacy perk
		if = {
			limit = {
				house_head.dynasty ?= { ep3_administrative_legacy_track_perks >= 3 }
			}
			add = {
				value = 15
				desc = ep3_administrative_legacy_3_name
			}
		}

		# From Mass Arrests Decision
		if = {
			limit = { house_head ?= { has_character_flag = mass_arrests_house_power_malus } }
			add = {
				value = -15
				desc = ep3_mass_arrests_house_power_malus
			}
		}
		
		# The number of governorships the house holds
		multiply = {
			value = 1
			every_house_member = {
				limit = {
					is_governor = yes
					house.house_head.top_liege ?= top_liege
				}
				add = 0.4 # Let's add a multiplier to the overall score for each governorship
			}
			desc = held_governoships_desc
		}

		# Bonus for being the imperial house (we deliberately but this at the end, behind the governorship multiplier, as an added bonus on top of everything else)
		if = {
			limit = {
				any_house_member = {
					is_independent_ruler = yes
					primary_title.tier >= tier_empire
					house.house_head.top_liege ?= top_liege
				}
			}
			add = {
				value = 100
				desc = imperial_house_desc
			}
		}

		# Status Challenged
		if = {
			limit = { has_variable_list = status_challenged_by }
			save_temporary_value_as = temp_total
			subtract = {
				value = scope:temp_total
				multiply = {
					value = 0.05
					multiply = {
						value = 0
						every_in_list = {
							variable = status_challenged_by
							add = 1
						}
					}
				}
				desc = challenge_status_powerful_family_rating_modifier
			}
		}
	}

	round = yes
}

# Maximum investment a character can make to support a candidate for a title appointment
# root - investor
appointment_investment_cap = {
	value = {
		add = {
			value = 50 # Base
			desc = BASE_VALUE
		}
		##### FAMILY RATING
		if = {
			limit = { house.house_head ?= this }
			add = {
				value = house.house_power_score
				desc = appointment_investment_cap_family_rating
			}
		}
		##### AGE
		if = { # ADULT - scaling bonus
			limit = { is_adult = yes }
			add = {
				value = {
					add = age
					subtract = 16
					divide = 2
					ceiling = yes
				}
				desc = appointment_investment_cap_age
			}
		}
		else = { # CHILD - scaling malus
			add = {
				value = {
					add = age
					subtract = 16
					divide = 2
					floor = yes
				}
				desc = appointment_investment_cap_age
			}
		}
		##### INFLUENCE LEVEL
		if = { # NEGATIVE
			limit = { influence_level < 1 }
			add = {
				value = -20
				desc = appointment_investment_cap_influence_level
			}
		}
		else_if = { # POSITIVE
			limit = { influence_level > 1 }
			add = {
				value = {
					add = influence_level
					multiply = 10
				}
				desc = appointment_investment_cap_influence_level
			}
		}
		##### ESTATE BUILDINGS
		if = {
			limit = { exists = house.house_head.domicile }
			house.house_head.domicile = {
				add = {
					value = 0
					if = {
						limit = { has_domicile_building = estate_main_02 }
						add = 10
					}
					else_if = {
						limit = { has_domicile_building = estate_main_03 }
						add = 20
					}
					else_if = {
						limit = { has_domicile_building = estate_main_04 }
						add = 30
					}
					else_if = {
						limit = { has_domicile_building = estate_main_05 }
						add = 40
					}
					if = {
						limit = { has_domicile_building = reception_hall_02 }
						add = 10
					}
					else_if = {
						limit = { has_domicile_building = reception_hall_03 }
						add = 20
					}
					else_if = {
						limit = { has_domicile_building = reception_hall_04 }
						add = 30
					}
					else_if = {
						limit = { has_domicile_building = reception_hall_05 }
						add = 40
					}
					desc = appointment_investment_cap_estate_buildings
				}
			}
		}
		### EXPANDED POWER BASE
		save_temporary_value_as = temp_total
		if = {
			limit = { has_character_modifier = ep3_expanded_power_base_minor_modifier }
			add = {
				value = scope:temp_total
				multiply = 0.10
				round = yes
				min = 25
				desc = ep3_expanded_power_base_minor_modifier
			}
		}
		if = {
			limit = { has_character_modifier = ep3_expanded_power_base_medium_modifier }
			add = {
				value = scope:temp_total
				multiply = 0.20
				round = yes
				min = 50
				desc = ep3_expanded_power_base_medium_modifier
			}
		}
		if = {
			limit = { has_character_modifier = ep3_expanded_power_base_major_modifier }
			add = {
				value = scope:temp_total
				multiply = 0.30
				round = yes
				min = 75
				desc = ep3_expanded_power_base_major_modifier
			}
		}
		min = 0
	}
}

dominant_family_threshold_value = 0.25
family_attribute_cooldown_tt_value = {
	value = define:NHouse|HOUSE_POWER_BONUS_COOLDOWN_DAYS
	divide = 365
	round = yes
}

ep3_governor_yearly_8150_total_count_value = {
	value = 0
	every_in_list = {
		list = rebel_counties
		add = 1
	}
	every_in_list = {
		list = potential_rebel_counties
		add = 1
	}
}

#special bonus to traveling friends from a court event
court_position_aptitude_traveling_friends_value = {
	if = {
		limit = {
			has_character_flag = travelling_friend
			liege ?= {
				any_court_position_holder = {
					OR = {
						has_relation_best_friend = root
						has_relation_friend = root
					}
					has_character_flag = travelling_friend
				}
			}
		}
		add = {
			value = 20
			desc = court_position_traveling_friend
		}
	}
}

ep3_foreign_ruler_interest_in_coup_value = {
	value = 0
	every_claim = {
		limit = {
			any_de_jure_top_liege = {
				this = scope:target_char
			}
		}
		add = 1
	}
	if = {
		limit = { has_relation_nemesis = scope:target_char }
		add = 2
	}
	else_if = {
		limit = { has_relation_rival = scope:target_char }
		add = 1
	}
}

ep3_distance_to_comparator_claim = {
	value = 0
	add = "title_capital_county.squared_distance(scope:comparator.capital_county)"
	abs = yes
	multiply = -1
}

ep3_distance_to_comparator_capital_county = {
	value = 0
	add = "squared_distance(scope:comparator.capital_county)"
	abs = yes
	multiply = -1
}

number_of_granaries_in_egypt_value = {
	value = 0
	every_county_in_region = {
		region = custom_roman_aegyptus
		limit = {
			any_county_province = {
				has_building_or_higher = cereal_fields_05
			}
		}
		add = 1
		max = 10
	}
	min = 1
	desc = MODIFIER_DEFINITION_MAIN_DESC_PER_EGYPT_GRANARY
}

grain_dole_cost = {
	value = 1500
}

pay_off_crusaders_value = {
	value = 0
	every_in_list = {
		list = paying_off_crusaders
		add = 1
	}
	multiply = 150
}

ep3_byz_regiments_gained_value = {
	value = 1
	if = {
		limit = {
			exists = scope:regiment_1
			highest_held_title_tier >= tier_kingdom
		}
		add = 1
	}
	if = {
		limit = {
			exists = scope:regiment_2
			OR = {
				highest_held_title_tier >= tier_duchy
				this = scope:attacker
			}
		}
		add = 1
	}
}

ep3_byz_regiments_ck_value = {
	value = 0
	if = {
		limit = {
			exists = scope:regiment_1
		}
		add = 2
	}
	if = {
		limit = {
			exists = scope:regiment_2
		}
		add = 3
	}
}

ep3_byz_reward_levy_size_value = {
	value = 100
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 5
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 10
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 15
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 20
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 25
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 30
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 35
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 40
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 50
			}
		}
		add = 150
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 65
			}
		}
		add = 200
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 80
			}
		}
		add = 250
	}
	if = {
		limit = {
			highest_held_title_tier = tier_duchy
		}
		multiply = 1.33
	}
	if = {
		limit = {
			highest_held_title_tier >= tier_kingdom
		}
		multiply = 1.66
	}
}

ep3_sacking_byz_capital_payoff_value = {
	value = 220

	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 5
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 10
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 15
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 20
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 25
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 30
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 35
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 40
			}
		}
		add = 100
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 50
			}
		}
		add = 150
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 65
			}
		}
		add = 200
	}
	if = {
		limit = {
			title:e_byzantium.holder.capital_county = {
				development_level >= 80
			}
		}
		add = 250
	}
}

number_vassals_converting_to_new_state_faith = {
	value = 0
	every_vassal = {
		limit = {
			opinion = {
				target = root
				value >= 30
			}
			faith != root.faith
			NOT = { has_vassal_stance = zealot }
			is_ai = yes
		}
		add = 1
	}
}

# Hasan Sabbah event troops

hasan_sabbah_max_levies_value = 20000

hasan_sabbah_event_troops_value = {
	value = 0

	# Add troops for each appropriate county.
	root.location.county.holder.top_liege = {
		every_sub_realm_county = {
			limit = {
				faith = root.faith
			}
			add = 500
		}
	}

	max = {
		# Standard base max.
		value = hasan_sabbah_max_levies_value
	}
	divide = 5
}

maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult = 4

provision_refill_value = {
	value = 0.125
	if = {
		limit = {
			trigger_if = {
				limit = { exists = scope:laamp_temp }
				scope:laamp_temp = { has_perk = prepared_conscription_perk }
			}
			trigger_else = { always = no }
		}
		multiply = 1.25
	}
	if = {
		limit = {
			scope:laamp_temp ?= {
				has_perk = personal_touch_perk
				landless_inspector_king_of_the_wilds = yes
			}
		}
		multiply = 1.25
	}
	if = {
		limit = {
			scope:laamp_temp ?= {
				is_ai = no
				has_game_rule = hard_difficulty
			}
		}
		multiply = 0.5
	}
	else_if = {
		limit = {
			scope:laamp_temp ?= {
				is_ai = no
				has_game_rule = very_hard_difficulty
			}
		}
		multiply = 0.2
	}
}

provision_refill_value_tt = {
	value = 0.125
	if = {
		limit = { has_perk = prepared_conscription_perk }
		multiply = 1.25
	}
	if = {
		limit = {
			has_perk = personal_touch_perk
			landless_inspector_king_of_the_wilds = yes
		}
		multiply = 1.25
	}
	if = {
		limit = {
			is_ai = no
			has_game_rule = hard_difficulty
		}
		multiply = 0.5
	}
	else_if = {
		limit = {
			is_ai = no
			has_game_rule = very_hard_difficulty
		}
		multiply = 0.2
	}
}

gold_refill_value = {
	value = 3
	if = {
		limit = {
			scope:laamp_temp = { has_perk = cutting_corners_perk }
		}
		multiply = 1.25
	}
	if = {
		limit = {
			scope:laamp_temp ?= {
				has_perk = personal_touch_perk
				landless_inspector_king_of_the_wilds = yes
			}
		}
		multiply = 1.25
	}
	if = {
		limit = {
			scope:laamp_temp ?= {
				government_has_flag = government_is_nomadic
			}
		}
		multiply = 1.5
	}
	if = {
		limit = {
			scope:laamp_temp ?= {
				is_ai = no
				has_game_rule = hard_difficulty
			}
		}
		multiply = 0.5
	}
	else_if = {
		limit = {
			scope:laamp_temp ?= {
				is_ai = no
				has_game_rule = very_hard_difficulty
			}
		}
		multiply = 0.2
	}
	if = {
		limit = {
			trigger_if = {
				limit = { exists = scope:laamp_temp }
				scope:laamp_temp = { government_has_flag = government_is_nomadic }
			}
			trigger_else = { always = no }
		}
		multiply = {
			add = scope:laamp_temp.martial
			subtract = 8
			divide = 100
			add = 1
		}
	}
}

gold_refill_value_tt = {
	value = 2
	if = {
		limit = {
			has_perk = cutting_corners_perk
		}
		multiply = 1.25
	}
	if = {
		limit = {
			has_perk = personal_touch_perk
			landless_inspector_king_of_the_wilds = yes
		}
		multiply = 1.25
	}
	if = {
		limit = {
			government_has_flag = government_is_nomadic
		}
		multiply = 1.5
	}
	if = {
		limit = {
			is_ai = no
			has_game_rule = hard_difficulty
		}
		multiply = 0.5
	}
	else_if = {
		limit = {
			is_ai = no
			has_game_rule = very_hard_difficulty
		}
		multiply = 0.2
	}
	if = {
		limit = {
			government_has_flag = government_is_nomadic
		}
		multiply = {
			add = martial
			subtract = 8
			divide = 100
			add = 1
		}
	}
}

replenishable_troops_value = {
	value = maa_max_troops_count
	subtract = maa_current_troops_count
	if = {
		limit = { maa_regiments_cost_more_to_reinforce_per_soldier_trigger = yes }
		multiply = maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult
	}
}

replenishable_troops_with_provisions_value = {
	value = replenishable_troops_value
	max = {
		add = scope:current_provisions_max_value_scope
		multiply = provision_refill_value
	}
}

replenishable_troops_with_gold_value = {
	value = replenishable_troops_value
	max = {
		add = scope:current_gold_max_value_scope
		multiply = gold_refill_value
	}
}

replenishable_troops_max_provisions_value = {
	value = 0
	scope:actor = {
		every_maa_regiment = {
			add = {
				add = maa_max_troops_count
				subtract = maa_current_troops_count
				if = {
					limit = { maa_regiments_cost_more_to_reinforce_per_soldier_trigger = yes }
					multiply = maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult
				}
			}
		}
	}
	max = scope:actor.domicile.provisions
	divide = provision_refill_value
	multiply = -1
}

replenishable_troops_payed_provisions_tt_value = {
	value = 0
	every_maa_regiment = {
		add = {
			add = maa_max_troops_count
			subtract = maa_current_troops_count
			if = {
				limit = { maa_regiments_cost_more_to_reinforce_per_soldier_trigger = yes }
				multiply = maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult
			}
		}
	}
	divide = provision_refill_value_tt
	max = domicile.provisions
}

replenishable_troops_max_provisions_tt_value = {
	value = 0
	every_maa_regiment = {
		add = {
			add = maa_max_troops_count
			subtract = maa_current_troops_count
		}
	}
	max = {
		value = domicile.provisions
		multiply = provision_refill_value_tt
	}
}

replenishable_troops_payed_gold_tt_value = {
	value = 0
	every_maa_regiment = {
		add = {
			add = maa_max_troops_count
			subtract = maa_current_troops_count
			if = {
				limit = { maa_regiments_cost_more_to_reinforce_per_soldier_trigger = yes }
				multiply = maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult
			}
		}
	}
	divide = gold_refill_value_tt
	max = gold
}

replenishable_troops_max_gold_tt_value = {
	value = 0
	every_maa_regiment = {
		add = {
			add = maa_max_troops_count
			subtract = maa_current_troops_count
			if = {
				limit = { maa_regiments_cost_more_to_reinforce_per_soldier_trigger = yes }
				multiply = maa_regiments_cost_more_to_reinforce_per_soldier_trigger_mult
			}
		}
	}
	max = {
		value = gold
		multiply = gold_refill_value_tt
	}
}

replenishable_troops_provision_cost_value = {
	value = scope:actor.replenishable_troops_value
	max = scope:actor.domicile.max_provisions
	multiply = -1
}

reinforce_soldiers_regiment_soldiers_value = {
	value = reinforce_soldiers_regiment_max_value
	min = 1
	max = reinforce_soldiers_max_value
}

reinforce_soldiers_regiment_max_value = {
	value = 25
	if = {
		limit = {
			scope:actor = { has_perk = soldiers_of_lesser_fortune_perk }
		}
		multiply = 4
	}
}

reinforce_soldiers_regiment_max_value_tooltip = {
	value = 25
	if = {
		limit = {
			has_perk = soldiers_of_lesser_fortune_perk
		}
		multiply = 4
	}
}

reinforce_soldiers_max_value = {
	value = maa_max_troops_count
	subtract = maa_current_troops_count
}

reinforce_soldiers_reinforcable_regiments_value = {
	value = 0
	every_maa_regiment = {
		limit = { maa_current_troops_count < maa_max_troops_count }
		# Cheaper cavalry
		if = {
			limit = {
				OR = {
					is_unit_type = light_cavalry
					is_unit_type = heavy_cavalry
				}
				regiment_owner.domicile ?= { has_domicile_parameter = camp_cheaper_cavalry_reinforcement }
			}
			add = 0.5
		}
		else = { add = 1 }
	}
	min = 0.5
}

reinforce_soldiers_reinforcable_regiments_undiscounted_value = {
	value = 0
	every_maa_regiment = {
		limit = { maa_current_troops_count < maa_max_troops_count }
		add = 1
	}
	min = 1
}

reinforce_soldiers_gold_value = {
	value = minor_gold_value
	if = {
		limit = {
			domicile ?= { has_domicile_parameter = camp_improved_reinforcement_from_gold }
		}
		multiply = 0.5
	}
	multiply = reinforce_soldiers_reinforcable_regiments_value
}

reinforce_soldiers_dread_cost_value = {
	value = 5
	if = {
		limit = {
			scope:actor.domicile = { has_domicile_parameter = camp_improved_entice_local_mercenaries }
		}
		add = -2.5
	}
	multiply = reinforce_soldiers_reinforcable_regiments_value
}

small_empire_size_value = 75
large_empire_size_value = 125

current_size_empire_value = { add = root.realm_size }

laamp_improved_learning_contract_success_value = 20 # Update parameter tooltip if this is changed!

laamp_improved_tracker_contract_success_value = 20 # Update parameter tooltip if this is changed!

# Currently this define is set to 100, so adjust with that in mind.
provisions_privation_threshold_start = { value = define:NCharacter|PROVISIONS_LOW_WARNING }
provisions_privation_threshold_low = 66
provisions_privation_threshold_very_low = 33
provisions_privation_threshold_empty = 0

gather_provisions_forage_base_value = {
	# TERRAIN
	if = {
		limit = {
			OR = {
				terrain = desert
				terrain = desert_mountains
				terrain = taiga
			}
		}
		add = 100
	}
	else_if = {
		limit = {
			NOT = {
				root = { has_perk = golden_aplomb_perk }
			}
			OR = {
				terrain = drylands
				terrain = jungle
				terrain = mountains
				terrain = wetlands
				terrain = steppe
			}
		}
		add = 250
	}
	else = { add = 500 }
	# BUILDINGS
	if = {
		limit = { has_building_or_higher = pastures_01 }
		add = 25
	}
	if = {
		limit = { has_building_or_higher = orchards_01 }
		add = 25
	}
	if = {
		limit = { has_building_or_higher = farm_estates_01 }
		add = 25
	}
	if = {
		limit = { has_building_or_higher = cereal_fields_01 }
		add = 25
	}
	if = {
		limit = { has_building_or_higher = plantations_01 }
		add = 25
	}
	if = {
		limit = { has_building_or_higher = hill_farms_01 }
		add = 25
	}
	# WINTER
	if = {
		limit = { has_province_modifier = winter_mild_modifier }
		add = -50
	}
	else_if = {
		limit = { has_province_modifier = winter_normal_modifier }
		add = -100
	}
	else_if = {
		limit = { has_province_modifier = winter_harsh_modifier }
		add = -150
	}
	min = 50
	# We deliberately apply this after the min, since it's a global boost.
	if = {
		limit = {
			root.domicile = { has_domicile_parameter = camp_improves_gather_provisions_hunting }
		}
		multiply = camp_improves_gather_provisions_hunting_value
	}
	if = {
		limit = {
			root = { has_perk = it_is_my_domain_perk }
		}
		multiply = 1.25
	}
	if = { # Inspector Lifestyle Perk
		limit = {
			landless_inspector_terrain_knowing_the_land_trigger = yes
			root = { has_perk = know_your_land_know_your_people_perk }
		}
		multiply = 1.5
	}
}
# Parameter improvements from camp buildings.
camp_improves_gather_provisions_hunting_value = 1.5
camp_improves_gather_provisions_hunting_loc_value = {
	value = camp_improves_gather_provisions_hunting_value
	add = -1
}

gather_provisions_hunt_base_value = {
	value = 50
	# TERRAIN
	if = {
		limit = {
			OR = {
				terrain = farmlands
				terrain = floodplains
				terrain = wetlands
			}
		}
		add = 100
	}
	else_if = {
		limit = {
			NOT = {
				root = { has_perk = golden_aplomb_perk }
			}
			OR = {
				terrain = desert
				terrain = desert_mountains
				terrain = mountains
				terrain = taiga
				terrain = steppe
			}
		}
		add = 250
	}
	else = { add = 500 }
	# HOLDING
	if = {
		limit = { has_holding = no }
		add = 50
	}
	# BUILDINGS
	if = {
		limit = { has_building_or_higher = hunting_grounds_01 }
		add = 50
	}
	if = {
		limit = { has_building_or_higher = royal_forest_01 }
		add = 100
	}
	min = 5
	# We deliberately apply this after the min, since it's a global boost.
	if = {
		limit = {
			root.domicile = { has_domicile_parameter = camp_improves_gather_provisions_foraging }
		}
		multiply = camp_improves_gather_provisions_foraging_value
	}
	if = {
		limit = {
			root = { has_perk = it_is_my_domain_perk }
		}
		multiply = 1.25
	}
}
# Parameter improvements from camp buildings.
camp_improves_gather_provisions_foraging_value = 1.5
camp_improves_gather_provisions_foraging_loc_value = {
	value = camp_improves_gather_provisions_foraging_value
	add = -1
}

provisions_low_value = 10

adventurers_make_local_deals_option_value = {
	value = 0
	if = {
		limit = { root.current_travel_plan.current_location.available_loot > 0 }
		add = root.current_travel_plan.current_location.available_loot
		divide = 4
	}
}

strong_governor_military_value = {
	value = 0
	add = scope:emperor.max_military_strength
	multiply = 0.2
}

ep3_emperors_war_strength_value = {
	value = 0
	if = {
		limit = {
			scope:emperor = {
				is_defender_in_war = scope:war
			}
		}
		scope:war = {
			every_war_defender = {
				add = current_military_strength
			}
		}
	}
	else = {
		scope:war = {
			every_war_attacker = {
				add = current_military_strength
			}
		}
	}
}

ep3_emperors_war_strength_double_value = {
	value = 0
	if = {
		limit = {
			scope:emperor = {
				is_defender_in_war = scope:war
			}
		}
		scope:war = {
			every_war_defender = {
				add = current_military_strength
			}
		}
	}
	else = {
		scope:war = {
			every_war_attacker = {
				add = current_military_strength
			}
		}
	}
	multiply = 2
}

ep3_emperors_foe_war_strength_value = {
	value = 0
	if = {
		limit = {
			scope:emperor = {
				is_defender_in_war = scope:war
			}
		}
		scope:war = {
			every_war_attacker = {
				add = current_military_strength
			}
		}
	}
	else = {
		scope:war = {
			every_war_defender = {
				add = current_military_strength
			}
		}
	}
}

ep3_emperors_foe_war_strength_double_value = {
	value = 0
	if = {
		limit = {
			scope:emperor = {
				is_defender_in_war = scope:war
			}
		}
		scope:war = {
			every_war_attacker = {
				add = current_military_strength
			}
		}
	}
	else = {
		scope:war = {
			every_war_defender = {
				add = current_military_strength
			}
		}
	}
	multiply = 2
}

ep3_governor_yearly_3050_regiment_size_value = {
	value = 0
	scope:regiment = {
		add = maa_size
	}
}

provisions_threshold_critical_low_value = { value = define:NCharacter|PROVISIONS_LOW_WARNING } #Will literally throw a warning in the UI if provisions go beneath this

provisions_threshold_low_value = {
	value = max_provisions
	multiply = 0.2
}
provisions_threshold_mid_value = {
	value = max_provisions
	multiply = 0.5
}
provisions_threshold_good_value = {
	value = max_provisions
	multiply = 0.8
}

ep3_legacy_domicile_artifact_counter_illustrious_score = {
	value = var:ep3_legacy_domicile_artifact_counter_illustrious
	multiply = 4
}
ep3_legacy_domicile_artifact_counter_famed_score = {
	value = var:ep3_legacy_domicile_artifact_counter_famed
	multiply = 3
}
ep3_legacy_domicile_artifact_counter_masterwork_score = {
	value = var:ep3_legacy_domicile_artifact_counter_masterwork
	multiply = 2
}
ep3_legacy_domicile_artifact_counter_common_score = {
	value = var:ep3_legacy_domicile_artifact_counter_common
	multiply = 1
}
cabinet_of_curiosities_artifact_score = {
	value = 0
	if = {
		limit = { has_variable = ep3_legacy_domicile_artifact_counter_illustrious }
		add = ep3_legacy_domicile_artifact_counter_illustrious_score
	}
	if = {
		limit = { has_variable = ep3_legacy_domicile_artifact_counter_famed }
		add = ep3_legacy_domicile_artifact_counter_famed_score
	}
	if = {
		limit = { has_variable = ep3_legacy_domicile_artifact_counter_masterwork }
		add = ep3_legacy_domicile_artifact_counter_masterwork_score
	}
	if = {
		limit = { has_variable = ep3_legacy_domicile_artifact_counter_common }
		add = ep3_legacy_domicile_artifact_counter_common_score
	}
}

latin_emp_army_levies_value = {
	value = 100
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_early_medieval
			}
		}
		add = 100
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		add = 200
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 200
	}
}

latin_emp_army_maa_value = {
	value = 1
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_early_medieval
			}
		}
		add = 1
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		add = 1
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 1
	}
}

boost_efficiency_maximum_value = 40
damage_efficiency_minimum_value = -40
efficiency_interaction_cooldown_years_value = 5
efficiency_interaction_change_value = 4

ep3_governor_yearly_3070_governorship_value = {
	value = 0
	every_sub_realm_county = {
		add = 1
	}
}

ep3_found_despotate_control_total_value = {
	value = 0
	primary_title.kingdom = {
		every_de_jure_county = { add = 1 }
	}
}

ep3_found_despotate_control_held_value = {
	value = 0
	save_temporary_scope_as = holder_temp
	primary_title.kingdom = {
		every_de_jure_county = {
			limit = {
				county_held_or_vassal_to_target_trigger = { TARGET = scope:holder_temp }
			}
			add = 1
		}
	}
}

ep3_found_despotate_control_percent_value = {
	value = ep3_found_despotate_control_held_value
	divide = ep3_found_despotate_control_total_value
	multiply = 100
}

military_strength_25_percent_value = {
	value = current_military_strength
	multiply = 0.25
}

military_strength_75_percent_value = {
	value = current_military_strength
	multiply = 0.75
}

number_of_counties_with_heresy_1 = {
	value = 0
	top_liege = {
		every_realm_county = {
			limit = {
				faith = scope:heresy_1
			}
			add = 1
		}
	}
}

number_of_counties_with_heresy_2 = {
	value = 0
	top_liege = {
		every_realm_county = {
			limit = {
				faith = scope:heresy_2
			}
			add = 1
		}
	}
}

number_of_counties_with_heresy_3 = {
	value = 0
	top_liege = {
		every_realm_county = {
			limit = {
				faith = scope:heresy_3
			}
			add = 1
		}
	}
}

number_of_counties_with_heresy_acceptance = {
	value = 0
	every_realm_county = {
		limit = {
			faith = scope:heresy
		}
		add = 10
	}
}

number_of_vassals_with_heresy_acceptance = {
	value = 0
	every_vassal = {
		limit = {
			faith = scope:heresy
		}
		add = 5
	}
}

influence_difference_value = {
	value = scope:heretic.influence
	subtract = root.influence
	multiply = 0.1
}

architect_aptitude_scale_value = {
	value = 1
	multiply = root.court_position:royal_architect_court_position.aptitude:royal_architect_court_position
}

ep3_actor_governor_trait_level_value = {
	value = -1
	scope:actor ?= {
		if = {
			limit = { has_trait = governor }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 25 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 50 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 75 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 100 } }
			add = 1
		}
	}
}

ep3_recipient_governor_trait_level_value = {
	value = -1
	scope:recipient ?= {
		if = {
			limit = { has_trait = governor }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 25 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 50 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 75 } }
			add = 1
		}
		if = {
			limit = { has_trait_xp = { trait = governor value >= 100 } }
			add = 1
		}
	}
}

ep3_actor_recipient_governor_trait_level_diff_value = {
	value = ep3_actor_governor_trait_level_value
	subtract = ep3_recipient_governor_trait_level_value
}

event_troops_ep3_separatist_scale_value = {
	value = 100
	multiply = { 
		value = root.location.duchy.holder.primary_title.tier
	}
}

hostile_scheme_variable_list_value = {
	value = 0
	scope:owner = {
		every_in_list = {
			variable = supporting_hostile_schemes
			add = 5
		}
	}
}



personal_scheme_variable_list_value = {
	value = 0
	scope:owner = {
		every_in_list = {
			variable = supporting_personal_schemes
			add = 5
		}
	}
}

political_scheme_variable_list_value = {
	value = 0
	scope:owner = {
		every_in_list = {
			variable = supporting_political_schemes
			add = 5
		}
	}
}

hostile_scheme_base_bonus_per_character = 5
personal_scheme_base_bonus_per_character = 5
political_scheme_base_bonus_per_character = 5

# Laamps above this count must be exceptional characters or of interest to the player.
## This is because there are various things they do that are _fairly_ unperformant, so it's important that we put a good soft-cap on their numbers to stop them growing out of control and tanking performance.
### Code decisions were made assuming that there would be _maybe_ 200 on the map in the late game, give or take ~50.
#### More than that will work mechanically but prepare for substantial frame rate drops.
max_desired_laamps_value = {
	value = 20 # 200
	switch = {
		trigger = has_game_rule
		ai_laamp_numbers_25 = { value = 3 } # 25
		ai_laamp_numbers_50 = { value = 5 } # 50
		ai_laamp_numbers_100 = { value = 10 } # 100
		ai_laamp_numbers_150 = { value = 15 } # 150
		ai_laamp_numbers_200 = { value = 20 } # 200
	}
}

seventyfive_percent_of_max_desired_laamps_value = {
	value = max_desired_laamps_value
	multiply = 0.75
}

too_many_laamps_value = {
	value = max_desired_laamps_value
	switch = {
		trigger = has_game_rule
		ai_laamp_numbers_25 = { add = 2 }
		ai_laamp_numbers_50 = { add = 5 }
		ai_laamp_numbers_100 = { add = 10 }
		ai_laamp_numbers_150 = { add = 15 }
		ai_laamp_numbers_200 = { add = 20 }
	}
}

wipe_slate_min_xp_to_remove_trait_value = 5
crusader_absolution_min_xp_to_remove_trait_value = 25
crusader_absolution_xp_removed_per_track_value = {
	value = 100
	subtract = crusader_absolution_min_xp_to_remove_trait_value
	multiply = -1
}

camp_party_province_reference_value = {
	value = 15
}

amount_of_followers_value = {
	value = 0
	every_courtier = {
		add = 1
	}
}

current_camp_temperament_average_value = {
	value = 0
	every_courtier = {
		add = "opinion(root)"
	}
	divide = amount_of_followers_value
}

low_camp_temperament_value = define:NDomicile|TEMPERAMENT_THRESHOLD_LOW
high_camp_temperament_value = define:NDomicile|TEMPERAMENT_THRESHOLD_HIGH

default_temperament_high_value_scale = {
	value = prestige_level
	if = {
		limit = {
			has_perk = absolute_control_perk
		}
		add = {
			value = dread
			divide = 20
		}
	}
	if = {
		limit = {
			has_perk = honored_to_serve_perk
		}
		add = {
			every_courtier = {
				add = 1
			}
			divide = 5
			min = 0
		}
	}
	if = {
		limit = {
			has_perk = scientific_perk
		}
		add = {
			every_courtier = {
				limit = {
					learning >= 15
				}
				add = 1
			}
			min = 0
		}
	}
	if = {
		limit = {
			has_perk = gracious_host_impeccable_guest_perk
		}
		add = num_of_known_languages
	}
}

default_temperament_low_value_scale = {
	value = prestige_level
}

estate_increase_gardener_aptitude_value_1 = 10
estate_increase_gardener_aptitude_value_2 = 15

estate_increased_personal_scheme_success_1_value = 5
estate_increased_personal_scheme_success_2_value = 15
estate_increased_personal_scheme_success_3_value = 25

kennels_more_successful_hunts_1_value = 10
kennels_more_successful_hunts_2_value = 15

cultivated_sophistication_development_gain = minor_development_progress_gain

slander_appointment_score_value = -25
slander_acclamation_score_value = -50

promote_appointment_score_value = 20
promote_acclamation_score_value = 30

ep3_requested_faith_support_0_value = {
	value = major_influence_gain
}
ep3_requested_faith_support_1_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 1.5
}
ep3_requested_faith_support_2_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 2
}
ep3_requested_faith_support_3_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 2.5
}
ep3_requested_faith_support_4_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 3
}
ep3_requested_faith_support_5_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 3.5
}
ep3_requested_faith_support_6_value = {
	value = ep3_requested_faith_support_0_value
	multiply = 4
}

chancellor_integrate_title_admin_top_liege_bonus = 1
chancellor_integrate_title_admin_target_bonus = 0.5

de_jure_governor_bonus = -20

greek_anarchy_army_levy_value = {
	value = 50
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		add = 100
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 100
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_duchy
			}
		}
		add = 150
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_kingdom
			}
		}
		add = 200
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_empire
			}
		}
		add = 200
	}
}

greek_anarchy_army_weak_maa_value = {
	value = 1
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		add = 1
	}
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 2
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_duchy
			}
		}
		add = 1
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_kingdom
			}
		}
		add = 2
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_empire
			}
		}
		add = 1
	}
}

greek_anarchy_army_maa_value = {
	value = 1
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 2
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_duchy
			}
		}
		add = 1
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_kingdom
			}
		}
		add = 1
	}
}

greek_anarchy_army_heavy_cav_value = {
	value = 0
	if = {
		limit = {
			culture = {
				has_cultural_era_or_later = culture_era_late_medieval
			}
		}
		add = 1
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_duchy
			}
		}
		add = 1
	}
	if = {
		limit = {
			scope:defender = {
				highest_held_title_tier >= tier_empire
			}
		}
		add = 1
	}
}

greek_anarchy_development_value = -50

faction_power_existing_threshold_value = {
	value = faction_power
	multiply = 2
}

ep3_invite_to_faction_war_strength_compare_defender_value = {
	value = 0
	every_war_defender = { add = current_military_strength }
}

ep3_invite_to_faction_war_strength_compare_attacker_value = {
	value = 0
	every_war_attacker = { add = current_military_strength }
}

admin_convert_influence_value = {
	value = 0
	if = {
		limit = {
			has_character_flag = latin_emp_force_admin_flag
		}
		add = major_influence_gain
	}
	else = {
		add = monumental_influence_gain
	}
}

admin_convert_legitimacy_value = {
	value = 0
	if = {
		limit = {
			has_character_flag = latin_emp_force_admin_flag
		}
		add = minor_legitimacy_gain
	}
	else = {
		add = medium_legitimacy_gain
	}
}

chance_to_be_educated_while_educating_value = {
	value = 2.5
	if = {
		limit = { has_perk = learn_on_the_job_perk }
		multiply = 2
	}
}

learning_task_contract_qualified_score_value = 1
learning_task_contract_medium_score_value = 2
learning_task_contract_major_score_value = 3

laamp_base_contract_schemes_2661_modifier_duration_value = {
	value = 5
	if = {
		limit = {
			root = { is_ai = no }
		}
		add = 20
	}
}

rebuke_roman_revanchism_sicily_requirements_no_ere_county_value = 10
rebuke_roman_revanchism_sicily_requirements_some_ere_county_value = 13
rebuke_roman_revanchism_sicily_requirements_no_ere_in_italy_county_value = 5
rebuke_roman_revanchism_sicily_fame_reward_value = 1000

# How many provisions do we give out per modifier removed?
butcher_animals_decision_cat_provision_value = 50
butcher_animals_decision_dog_provision_value = 75
butcher_animals_decision_dog_building_provision_value = 750
butcher_animals_decision_horse_provision_value = 150
butcher_animals_decision_horse_building_provision_value = 1250
butcher_animals_decision_elephant_building_provision = 2500

# How long before you can rebuild buildings/sacrifice the animals again?
butcher_animals_decision_regular_cooldown_value = 25
butcher_animals_decision_elephant_cooldown_value = 50

add_camp_officer_aptitude_value = {
	if = {
		limit = { has_court_position = second_camp_officer }
		add = "aptitude(second_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = quartermaster_camp_officer }
		add = "aptitude(quartermaster_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = armorer_camp_officer }
		add = "aptitude(armorer_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = chief_forager_camp_officer }
		add = "aptitude(chief_forager_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = master_thief_camp_officer }
		add = "aptitude(master_thief_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = head_porter_camp_officer }
		add = "aptitude(head_porter_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = head_groom_camp_officer }
		add = "aptitude(head_groom_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = huntperson_camp_officer }
		add = "aptitude(huntperson_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = kennelperson_camp_officer }
		add = "aptitude(kennelperson_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = chief_engineer_camp_officer }
		add = "aptitude(chief_engineer_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = witness_camp_officer }
		add = "aptitude(witness_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = person_haggler_camp_officer }
		add = "aptitude(person_haggler_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = camp_cook_camp_officer }
		add = "aptitude(camp_cook_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = master_bard_camp_officer }
		add = "aptitude(master_bard_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = stooge_camp_officer }
		add = "aptitude(stooge_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = master_of_arms_camp_officer }
		add = "aptitude(master_of_arms_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = light_cavalry_captain_camp_officer }
		add = "aptitude(light_cavalry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = camelry_captain_camp_officer }
		add = "aptitude(camelry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = elephantry_captain_camp_officer }
		add = "aptitude(elephantry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = heavy_cavalry_captain_camp_officer }
		add = "aptitude(heavy_cavalry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = horse_archer_captain_camp_officer }
		add = "aptitude(horse_archer_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = archer_captain_camp_officer }
		add = "aptitude(archer_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = heavy_infantry_captain_camp_officer }
		add = "aptitude(heavy_infantry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = light_infantry_captain_camp_officer }
		add = "aptitude(light_infantry_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = pike_captain_camp_officer }
		add = "aptitude(pike_captain_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = master_of_spoils_camp_officer }
		add = "aptitude(master_of_spoils_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = laureate_camp_officer }
		add = "aptitude(laureate_camp_officer)"
	}
	else_if = {
		limit = { has_court_position = camp_priest_camp_officer }
		add = "aptitude(camp_priest_camp_officer)"
	}
}

laamp_base_contract_schemes_1301_maa_damage_catastrophic_value = -0.6
laamp_base_contract_schemes_1301_maa_damage_heavy_value = -0.45
laamp_base_contract_schemes_1301_maa_damage_moderate_value = -0.3
laamp_base_contract_schemes_1301_maa_damage_light_value = -0.2

# Thomas Aquinas was born in 1225, more or less
ep3_thomas_aquinas_age_value = {
	value = current_year
	add = -1225
}

ep3_interactions_events_0500_troops_count_value = 100

ep3_adventurer_ai_contracts_per_employer_max_value = 3
ep3_adventurer_ai_contracts_per_employer_min_value = 1
ep3_adventurer_ai_employers_per_kingdom_max_value = 8
ep3_adventurer_ai_employers_per_kingdom_min_value = 4

procure_estate_interaction_cost_base_gold = 1000
procure_estate_interaction_cost_base_prestige = 2000
procure_estate_interaction_cost_base_piety = 1000

request_co_emperor_interaction_gold_cost_value = { value = monumental_gold_value }
request_co_emperor_interaction_influence_cost_value = {
	value = monumental_influence_value
	multiply = 2
}

see_how_its_done_gold_reward_value = {
	value = 20
	multiply = been_there_done_that_check_multiplier_value
}

visit_settlement_paid_training_value = {
	value = 0
	if = {
		limit = { prowess < low_skill_rating }
		value = tiny_gold_laamps_value
	}
	else_if = {
		limit = { prowess < mediocre_skill_rating }
		value = minor_gold_laamps_value
	}
	else_if = {
		limit = { prowess < decent_skill_rating }
		value = medium_gold_laamps_value
	}
	else_if = {
		limit = { prowess < high_skill_rating }
		value = major_gold_laamps_value
	}
	else_if = {
		limit = { prowess < extremely_high_skill_rating }
		value = massive_gold_laamps_value
		divide = 2
	}
	else = {
		value = massive_gold_laamps_value
	}
}

harrying_miniscule_increase_value = 0.3
harrying_minor_increase_value = 0.5
harrying_medium_increase_value = 1

laamp_marriable_women_value = {
	if = {
		limit = { laamp_request_likely_marriable_woman_trigger = yes }
		add = 1
	}
	every_courtier = {
		limit = { laamp_request_likely_marriable_woman_trigger = yes }
		add = 1
	}
}

laamp_marriable_women_realistic_value = {
	every_courtier = {
		limit = {
			laamp_request_likely_marriable_woman_trigger = yes
			NOR = {
				is_close_family_of = root
				has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = root }
				is_councillor_of = root
				is_concubine_of = root
			}
		}
		add = 1
	}
}

laamp_marriable_men_value = {
	if = {
		limit = { laamp_request_likely_marriable_man_trigger = yes }
		add = 1
	}
	every_courtier = {
		limit = { laamp_request_likely_marriable_man_trigger = yes }
		add = 1
	}
}

laamp_marriable_men_realistic_value = {
	every_courtier = {
		limit = {
			laamp_request_likely_marriable_man_trigger = yes
			NOR = {
				is_close_family_of = root
				has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = root }
				is_councillor_of = root
				is_concubine_of = root
			}
		}
		add = 1
	}
}

laamp_city_construction_year_value = {
	value = scope:year_of_construction
	add = 100
}
